diff --git a/.gitignore b/.gitignore index 01cf575b..64c1ff7f 100644 --- a/.gitignore +++ b/.gitignore @@ -156,6 +156,9 @@ python.log # mailman mailman/web/static/ +# static files, rendered by docker. +static/css/styles.css + # dev *.code-workspace .vscode/settings.json diff --git a/README.md b/README.md index 47d9a8c1..9d739922 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,9 @@ For production, execute: $ yarn build ``` +This is a one-time build that will generate the `styles.css` file. This file is +currently generated by `docker compose build` and is included in the Docker image. + --- ## Generating Local Data diff --git a/docker/Dockerfile b/docker/Dockerfile index 9ea035d1..cac7c86d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -4,19 +4,34 @@ FROM python:3.11-slim AS builder-py RUN apt update && apt install -y build-essential gcc python-dev-is-python3 libpq-dev postgresql-client ruby ruby-dev && rm -rf /var/lib/apt/lists/* -# Install Asciidoctor +# Install ruby's asciidoctor. RUN gem install asciidoctor -RUN pip install -U uv +# Upgrade to the latest pip. +RUN pip install --upgrade pip +# Boostrap uv. +RUN pip install 'uv>=0.2.27,<0.3' COPY ./requirements.txt ./code/requirements.txt -RUN python3 -m venv /venv +# Create the virtualenv. +RUN uv venv venv +# Activate the virtualenv and install the requirements. RUN --mount=type=cache,target=/root/.cache \ . /venv/bin/activate && \ uv pip install -r /code/requirements.txt + +# Builder step for JS. +FROM node:22-slim AS builder-js + +COPY . /code/ +WORKDIR /code/ +RUN yarn build + + +# Final image. FROM python:3.11-slim AS release RUN apt update && apt install -y git libpq-dev ruby ruby-dev && rm -rf /var/lib/apt/lists/* @@ -24,6 +39,9 @@ RUN apt update && apt install -y git libpq-dev ruby ruby-dev && rm -rf /var/lib/ # Install Asciidoctor RUN gem install asciidoctor +# Boostrap uv. +RUN pip install'uv>=0.2.27,<0.3' + ENV PATH /venv/bin:/bin:/usr/bin:/usr/local/bin ENV PYTHONDONTWRITEBYTECODE=true ENV PYTHONPATH /code @@ -34,6 +52,7 @@ RUN mkdir /code COPY --from=builder-py /venv/ /venv/ COPY --from=builder-py /code/ /code/ +COPY --from=builder-js /code/static/css/styles.css /code/static/css/styles.css COPY . /code/ WORKDIR /code diff --git a/justfile b/justfile index bee7f255..1b71125a 100644 --- a/justfile +++ b/justfile @@ -72,7 +72,7 @@ alias shell := console # Compile new python dependencies @pip-compile ARGS='': ## rebuilds our pip requirements - docker compose run --rm web pip-compile {{ ARGS }} ./requirements.in --output-file ./requirements.txt + docker compose run --rm web uv pip compile {{ ARGS }} ./requirements.in --output-file ./requirements.txt # Upgrade existing Python dependencies to their latest versions @pip-compile-upgrade: diff --git a/requirements.in b/requirements.in index 566222d9..0ea31258 100644 --- a/requirements.in +++ b/requirements.in @@ -67,3 +67,6 @@ elasticsearch==7.17.9 # Github ghapi requests + +# Build toolchain +uv>=0.2.27,<0.3 diff --git a/requirements.txt b/requirements.txt index af7328c9..bbf07fc4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --output-file=./requirements.txt ./requirements.in -# +# This file was autogenerated by uv via the following command: +# uv pip compile ./requirements.in --output-file ./requirements.txt amqp==5.2.0 # via kombu appdirs==1.4.4 @@ -26,11 +22,11 @@ billiard==3.6.4.0 # via celery black==24.4.2 # via -r ./requirements.in -boto3==1.34.143 +boto3==1.34.145 # via # -r ./requirements.in # django-bakery -botocore==1.34.143 +botocore==1.34.145 # via # boto3 # s3transfer @@ -70,9 +66,9 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -coverage[toml]==7.6.0 +coverage==7.6.0 # via pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # -r ./requirements.in # jwcrypto @@ -110,7 +106,7 @@ django-admin-env-notice==1.0 # via -r ./requirements.in django-allauth==0.53.1 # via -r ./requirements.in -django-anymail[mailgun]==11.0.1 +django-anymail==11.0.1 # via -r ./requirements.in django-appconf==1.0.6 # via django-imagekit @@ -134,7 +130,7 @@ django-imagekit==5.0.0 # via -r ./requirements.in django-js-asset==2.2.0 # via django-mptt -django-mptt==0.14 +django-mptt==0.14.0 # via -r ./requirements.in django-oauth-toolkit==2.4.0 # via -r ./requirements.in @@ -156,13 +152,13 @@ djangorestframework==3.15.2 # django-rest-auth elasticsearch==7.17.9 # via -r ./requirements.in -environs[django]==11.0.0 +environs==11.0.0 # via -r ./requirements.in executing==2.0.1 # via stack-data faker==26.0.0 # via -r ./requirements.in -fastcore==1.5.51 +fastcore==1.5.54 # via ghapi filelock==3.15.4 # via virtualenv @@ -206,7 +202,7 @@ matplotlib-inline==0.1.7 # via ipython minio==7.2.7 # via -r ./requirements.in -mistletoe==1.3.0 +mistletoe==1.4.0 # via -r ./requirements.in model-bakery==1.18.2 # via -r ./requirements.in @@ -240,6 +236,10 @@ pillow==10.2.0 # via # -r ./requirements.in # pilkit +pip==24.1.2 + # via + # ghapi + # pip-tools pip-tools==6.13.0 # via -r ./requirements.in platformdirs==4.2.2 @@ -260,7 +260,7 @@ psycopg2-binary==2.9.9 # via -r ./requirements.in ptyprocess==0.7.0 # via pexpect -pure-eval==0.2.2 +pure-eval==0.2.3 # via stack-data pycparser==2.22 # via cffi @@ -268,11 +268,11 @@ pycryptodome==3.20.0 # via minio pygments==2.18.0 # via ipython -pyjwt[crypto]==2.8.0 +pyjwt==2.8.0 # via django-allauth pyproject-hooks==1.1.0 # via build -pytest==8.2.2 +pytest==8.3.1 # via # -r ./requirements.in # pytest-cov @@ -321,6 +321,12 @@ responses==0.25.3 # via -r ./requirements.in s3transfer==0.10.2 # via boto3 +setuptools==71.1.0 + # via + # fs + # pip-tools + # zope-event + # zope-interface six==1.16.0 # via # asttokens @@ -330,11 +336,11 @@ six==1.16.0 # python-dateutil soupsieve==2.5 # via beautifulsoup4 -sqlparse==0.5.0 +sqlparse==0.5.1 # via django stack-data==0.6.3 # via ipython -structlog==24.2.0 +structlog==24.4.0 # via -r ./requirements.in traitlets==5.14.3 # via @@ -354,6 +360,8 @@ urllib3==1.26.19 # minio # requests # responses +uv==0.2.27 + # via -r ./requirements.in vine==5.1.0 # via # amqp @@ -373,7 +381,3 @@ zope-event==5.0 # via gevent zope-interface==6.4.post2 # via gevent - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools diff --git a/static/css/styles.css b/static/css/styles.css deleted file mode 100644 index 154b47a8..00000000 --- a/static/css/styles.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v3.2.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}[x-cloak]{display:none!important}a:link{cursor:pointer}body{color:rgb(49 74 87/var(--tw-text-opacity));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.dark body,body{--tw-text-opacity:1}.dark body{color:rgb(255 255 255/var(--tw-text-opacity))}h1{font-size:3.75rem;line-height:1;margin-bottom:.75rem}h2{color:rgb(49 74 87/var(--tw-text-opacity))}.dark h2,h2{--tw-text-opacity:1}.dark h2{color:rgb(255 255 255/var(--tw-text-opacity))}h2{font-size:2.25rem;line-height:2.5rem;margin-bottom:1.25rem;margin-top:1.25rem}h3{font-size:1.5rem;line-height:2rem}h4{font-size:1.25rem;line-height:1.75rem}h5{font-size:1rem;line-height:1.5rem}p{padding-bottom:1.25rem;padding-top:1.25rem}pre{padding:1.5rem}textarea{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;width:100%}.dark textarea{--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity))}input[type=email]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;width:100%}.dark input[type=email]{--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity))}input[type=checkbox]{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;color:rgb(255 159 0/var(--tw-text-opacity));margin-right:.75rem}.dark input[type=checkbox]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity))}input[type=checkbox]{cursor:pointer}input[type=file]{--tw-border-opacity:1;--tw-text-opacity:1;background-clip:padding-box;border-color:rgb(49 74 87/var(--tw-border-opacity));border-radius:.25rem;border-style:solid;border-width:1px;color:rgb(49 74 87/var(--tw-text-opacity));display:block;font-size:1rem;font-weight:400;line-height:1.5rem;margin-bottom:.5rem;margin-top:.5rem;padding:.25rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.dark input[type=file]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}#signup_form input[type=email],#signup_form input[type=password]{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;color:rgb(49 74 87/var(--tw-text-opacity));width:100%}.dark #signup_form input[type=email],.dark #signup_form input[type=password]{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}#authpages #footerSignup{display:none}.link-header{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.link-header:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.dark .link-header{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.dark .link-header:hover{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}i:not(.link-force){i.fa,i.fa-brands,i.fab,i.fas{--tw-text-opacity:1;color:rgb(49 74 87/var(--tw-text-opacity))}.dark i.fa,.dark i.fa-brands,.dark i.fab,.dark i.fas{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}main.content{margin-bottom:.75rem;padding-left:.75rem;padding-right:.75rem;padding-top:.75rem}@media (min-width:768px){main.content{padding:0}}section.content{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(49 74 87/var(--tw-text-opacity));margin-bottom:1rem;overflow:hidden;padding:1.5rem;text-overflow:ellipsis;white-space:nowrap;width:100%}.dark section.content{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:768px){section.content{display:flex}}select.dropdown{background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;color:rgb(2 132 199/var(--tw-text-opacity));cursor:pointer;font-size:.875rem;line-height:1.25rem;margin-bottom:.75rem;min-width:8rem;padding-bottom:.25rem;padding-top:.25rem}.dark select.dropdown,select.dropdown{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.dark select.dropdown{background-color:rgb(5 26 38/var(--tw-bg-opacity));border-color:rgb(49 74 87/var(--tw-border-opacity));color:rgb(255 159 0/var(--tw-text-opacity))}.errorlist{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(255 255 255/var(--tw-text-opacity));padding:.5rem .75rem}#libraryReadMe h1{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(209 213 219/var(--tw-border-opacity));font-size:1.875rem;font-weight:600;line-height:2.25rem}.dark #libraryReadMe h1{--tw-border-opacity:1;border-color:rgb(49 74 87/var(--tw-border-opacity))}#libraryReadMe h1 a{display:inline-block;float:right;margin-left:.5rem;margin-right:.5rem}#libraryReadMe h2{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(209 213 219/var(--tw-border-opacity));font-size:1.5rem;font-weight:600;line-height:2rem;margin-top:.75rem}.dark #libraryReadMe h2{--tw-border-opacity:1;border-color:rgb(49 74 87/var(--tw-border-opacity))}#libraryReadMe h3{font-size:1.25rem;font-weight:600;line-height:1.75rem;margin-top:.75rem}#libraryReadMe p{font-size:1rem;font-weight:300;line-height:1.5rem;padding-bottom:.25rem}#libraryReadMe ul{list-style-position:inside;list-style-type:disc;padding-left:1rem}#libraryReadMe ul li{font-size:1rem;font-weight:300;line-height:1.5rem;padding-bottom:.25rem;padding-top:.25rem}#libraryReadMe>h3+ul{list-style-type:none}#libraryReadMe>h3+ul>li>a{font-weight:600}#libraryReadMe ul>li>ul>li{list-style-type:disc}#libraryReadMe ul>li>ul>li>a{font-weight:400}#libraryReadMe h3+p+ul{list-style-type:none}#libraryReadMe h3+p+ul>li{font-weight:600}#libraryReadMe table{table-layout:auto;width:100%}#libraryReadMe code,#libraryReadMe kbd,#libraryReadMe pre,#libraryReadMe samp{background-color:transparent}#libraryReadMe a{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}#libraryReadMe a img{display:inline}code,kbd,pre,samp{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;overflow-x:scroll}.dark code,.dark kbd,.dark pre,.dark samp{--tw-bg-opacity:1;background-color:rgb(5 26 38/var(--tw-bg-opacity))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@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:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{bottom:0;top:0}.inset-0,.inset-x-0{left:0;right:0}.top-6{top:1.5rem}.right-8{right:2rem}.top-0{top:0}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.top-1{top:.25rem}.top-10{top:2.5rem}.bottom-10{bottom:2.5rem}.bottom-3{bottom:.75rem}.top-5{top:1.25rem}.left-1\/2{left:50%}.bottom-0{bottom:0}.left-2{left:.5rem}.top-2{top:.5rem}.right-3{right:.75rem}.left-1\.5{left:.375rem}.right-1\.5{right:.375rem}.left-1{left:.25rem}.z-50{z-index:50}.z-10{z-index:10}.z-40{z-index:40}.order-3{order:3}.order-2{order:2}.order-1{order:1}.order-4{order:4}.order-5{order:5}.order-7{order:7}.order-6{order:6}.col-span-2{grid-column:span 2/span 2}.col-span-1{grid-column:span 1/span 1}.col-span-3{grid-column:span 3/span 3}.float-right{float:right}.m-10{margin:2.5rem}.m-0{margin:0}.my-8{margin-bottom:2rem;margin-top:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.my-16{margin-bottom:4rem;margin-top:4rem}.my-auto{margin-bottom:auto;margin-top:auto}.my-12{margin-bottom:3rem;margin-top:3rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-11{margin-bottom:2.75rem;margin-top:2.75rem}.my-0{margin-bottom:0;margin-top:0}.mb-4{margin-bottom:1rem}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mt-6{margin-top:1.5rem}.mt-1{margin-top:.25rem}.mr-2{margin-right:.5rem}.ml-6{margin-left:1.5rem}.mb-16{margin-bottom:4rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-4{margin-top:1rem}.-ml-6{margin-left:-1.5rem}.-mr-6{margin-right:-1.5rem}.mb-6{margin-bottom:1.5rem}.mr-4{margin-right:1rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.-ml-2{margin-left:-.5rem}.ml-\[4px\]{margin-left:4px}.mt-0{margin-top:0}.mb-11{margin-bottom:2.75rem}.ml-2{margin-left:.5rem}.-mt-\[3px\]{margin-top:-3px}.-mt-1{margin-top:-.25rem}.ml-\[2px\]{margin-left:2px}.mr-\[4px\]{margin-right:4px}.ml-0\.5{margin-left:.125rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.mr-3{margin-right:.75rem}.ml-3{margin-left:.75rem}.-ml-4{margin-left:-1rem}.mb-10{margin-bottom:2.5rem}.-mt-5{margin-top:-1.25rem}.-mr-4{margin-right:-1rem}.ml-auto{margin-left:auto}.mt-11{margin-top:2.75rem}.ml-5{margin-left:1.25rem}.mt-16{margin-top:4rem}.mr-5{margin-right:1.25rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-screen{height:100vh}.h-3{height:.75rem}.h-full{height:100%}.h-12{height:3rem}.h-\[30px\]{height:30px}.h-0{height:0}.h-7{height:1.75rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-\[25px\]{height:25px}.h-4{height:1rem}.h-6{height:1.5rem}.h-auto{height:auto}.h-\[80px\]{height:80px}.h-8{height:2rem}.max-h-96{max-height:24rem}.min-h-full{min-height:100%}.w-full{width:100%}.w-1\/2{width:50%}.w-fit{width:-moz-fit-content;width:fit-content}.w-28{width:7rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-4\/6{width:66.666667%}.w-80{width:20rem}.w-4\/5{width:80%}.w-12{width:3rem}.w-min{width:-moz-min-content;width:min-content}.w-\[80px\]{width:80px}.w-\[30px\]{width:30px}.w-48{width:12rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-4{width:1rem}.\!w-96{width:24rem!important}.w-96{width:24rem}.w-2\/3{width:66.666667%}.w-\[100px\]{width:100px}.w-32{width:8rem}.w-\[90\%\]{width:90%}.w-1\/6{width:16.666667%}.w-5\/6{width:83.333333%}.w-\[70\%\]{width:70%}.w-20{width:5rem}.w-\[150px\]{width:150px}.w-1\/3{width:33.333333%}.w-1\/5{width:20%}.min-w-full{min-width:100%}.min-w-\[120px\]{min-width:120px}.min-w-\[50px\]{min-width:50px}.min-w-\[70px\]{min-width:70px}.min-w-\[100px\]{min-width:100px}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-full{max-width:100%}.flex-auto{flex:1 1 auto}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.table-auto{table-layout:auto}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-top-right{transform-origin:top right}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-x-75{--tw-scale-x:.75}.scale-x-75,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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-5{grid-template-rows:repeat(5,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.content-between{align-content:space-between}.items-center{align-items:center}.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-items-center{justify-items:center}.gap-6{gap:1.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-y-0{row-gap:0}.gap-y-10{row-gap:2.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(4rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(4rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2.75rem*var(--tw-space-y-reverse));margin-top:calc(2.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.75rem*var(--tw-space-x-reverse))}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(0px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(0px*var(--tw-divide-x-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(209 213 219/var(--tw-divide-opacity))}.divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.divide-slate>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(49 74 87/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.\!border-0{border-width:0!important}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t-2{border-top-width:2px}.border-t{border-top-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-solid{border-style:solid}.border-dotted{border-style:dotted}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 159 0/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-orange\/30{border-color:rgba(255,159,0,.3)}.border-steel{--tw-border-opacity:1;border-color:rgb(181 201 211/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-slate{--tw-border-opacity:1;border-color:rgb(49 74 87/var(--tw-border-opacity))}.border-gray-200\/10{border-color:rgba(229,231,235,.1)}.border-green\/60{border-color:rgba(90,213,153,.6)}.border-black{--tw-border-opacity:1;border-color:rgb(5 26 38/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-t-white\/5{border-top-color:hsla(0,0%,100%,.05)}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-green\/40{background-color:rgba(90,213,153,.4)}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 159 0/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}.bg-gray-300\/50{background-color:rgba(209,213,219,.5)}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.bg-silver{--tw-bg-opacity:1;background-color:rgb(181 201 211/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-yellow-200\/70{background-color:hsla(53,98%,77%,.7)}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.bg-slate{--tw-bg-opacity:1;background-color:rgb(49 74 87/var(--tw-bg-opacity))}.bg-charcoal{--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity))}.bg-green\/70{background-color:rgba(90,213,153,.7)}.bg-green\/10{background-color:rgba(90,213,153,.1)}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-opacity-10{--tw-bg-opacity:0.1}.fill-orange{fill:#ff9f00}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.object-bottom{-o-object-position:bottom;object-position:bottom}.p-6{padding:1.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-\[10px\]{padding:10px}.p-0{padding:0}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-bottom:0;padding-top:0}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-12{padding-left:3rem;padding-right:3rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-20{padding-left:5rem;padding-right:5rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.px-\[40px\]{padding-left:40px;padding-right:40px}.py-\[1px\]{padding-bottom:1px;padding-top:1px}.py-11{padding-bottom:2.75rem;padding-top:2.75rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.pb-1{padding-bottom:.25rem}.pt-3{padding-top:.75rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.pt-0{padding-top:0}.pl-8{padding-left:2rem}.pl-4{padding-left:1rem}.pb-0{padding-bottom:0}.pl-6{padding-left:1.5rem}.pl-2{padding-left:.5rem}.pr-7{padding-right:1.75rem}.pt-8{padding-top:2rem}.pr-2{padding-right:.5rem}.pb-10{padding-bottom:2.5rem}.pb-4{padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pt-1{padding-top:.25rem}.pb-3{padding-bottom:.75rem}.pr-8{padding-right:2rem}.pl-5{padding-left:1.25rem}.pl-1{padding-left:.25rem}.pr-20{padding-right:5rem}.\!pr-60{padding-right:15rem!important}.pt-4{padding-top:1rem}.pl-3{padding-left:.75rem}.pr-11{padding-right:2.75rem}.pb-6{padding-bottom:1.5rem}.pr-\[1vw\]{padding-right:1vw}.pl-0{padding-left:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem}.text-lg,.text-xl{line-height:1.75rem}.text-lg{font-size:1.125rem}.text-base{font-size:1rem;line-height:1.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-7xl{font-size:4.5rem;line-height:1}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-light{font-weight:300}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:.1em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-slate{--tw-text-opacity:1;color:rgb(49 74 87/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.text-\[rgb\(14\2c 174\2c 96\)\]{--tw-text-opacity:1;color:rgb(14 174 96/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(5 26 38/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-white\/30{color:hsla(0,0%,100%,.3)}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-charcoal{--tw-text-opacity:1;color:rgb(23 42 52/var(--tw-text-opacity))}.text-gold{--tw-text-opacity:1;color:rgb(244 202 31/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-green{--tw-text-opacity:1;color:rgb(90 213 153/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-charcoal\/50{--tw-shadow-color:rgba(23,42,52,.5);--tw-shadow:var(--tw-shadow-colored)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.duration-100{transition-duration:.1s}.duration-75{transition-duration:75ms}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.file\:mr-5::file-selector-button{margin-right:1.25rem}.file\:rounded-lg::file-selector-button{border-radius:.5rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-white::file-selector-button{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.file\:py-2::file-selector-button{padding-bottom:.5rem;padding-top:.5rem}.file\:px-6::file-selector-button{padding-left:1.5rem;padding-right:1.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-slate::file-selector-button{--tw-text-opacity:1;color:rgb(49 74 87/var(--tw-text-opacity))}.last\:border-0:last-child{border-width:0}.visited\:text-orange:visited{color:#ff9f00}.visited\:text-slate:visited{color:#314a57}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-orange\/80:hover{background-color:rgba(255,159,0,.8)}.hover\:bg-white\/60:hover{background-color:hsla(0,0%,100%,.6)}.hover\:bg-orange\/75:hover{background-color:rgba(255,159,0,.75)}.hover\:text-orange:hover{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.hover\:\!text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-\[0_0_5px_5px_rgba\(0\2c 0\2c 0\2c 0\.05\)\]:hover{--tw-shadow:0 0 5px 5px rgba(0,0,0,.05);--tw-shadow-colored:0 0 5px 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:drop-shadow-\[0_15px_15px_rgba\(0\2c 100\2c 100\2c 0\.05\)\]:hover{--tw-drop-shadow:drop-shadow(0 15px 15px rgba(0,100,100,.05))}.hover\:drop-shadow-\[0_15px_15px_rgba\(0\2c 100\2c 100\2c 0\.05\)\]:hover,.hover\:drop-shadow-md:hover{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-md:hover{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.hover\:file\:cursor-pointer::file-selector-button:hover{cursor:pointer}.hover\:file\:bg-orange::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(255 159 0/var(--tw-bg-opacity))}.hover\:file\:text-white::file-selector-button:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:text-charcoal:focus{--tw-text-opacity:1;color:rgb(23 42 52/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.group:hover .group-hover\:text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.group:hover .group-hover\:text-orange{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:\[text-shadow\:_0_0_5px_rgb\(0_0_0_\/_15\%\)\]{text-shadow:0 0 5px rgba(0,0,0,.15)}.dark .dark\:inline-block{display:inline-block}.dark .dark\:inline{display:inline}.dark .dark\:hidden{display:none}.dark .dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}.dark .dark\:divide-white\/10>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.1)}.dark .dark\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(107 114 128/var(--tw-divide-opacity))}.dark .dark\:border-0{border-width:0}.dark .dark\:border-slate{--tw-border-opacity:1;border-color:rgb(49 74 87/var(--tw-border-opacity))}.dark .dark\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:border-charcoal{--tw-border-opacity:1;border-color:rgb(23 42 52/var(--tw-border-opacity))}.dark .dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark .dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(5 26 38/var(--tw-bg-opacity))}.dark .dark\:bg-charcoal{--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-green\/10{background-color:rgba(90,213,153,.1)}.dark .dark\:bg-slate{--tw-bg-opacity:1;background-color:rgb(49 74 87/var(--tw-bg-opacity))}.dark .dark\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.dark .dark\:bg-green\/40{background-color:rgba(90,213,153,.4)}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-opacity-10{--tw-bg-opacity:0.1}.dark .dark\:font-medium{font-weight:500}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}.dark .dark\:text-orange{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.dark .dark\:text-green{--tw-text-opacity:1;color:rgb(90 213 153/var(--tw-text-opacity))}.dark .dark\:text-white\/60{color:hsla(0,0%,100%,.6)}.dark .dark\:text-white\/70{color:hsla(0,0%,100%,.7)}.dark .dark\:text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.dark .dark\:text-white\/50{color:hsla(0,0%,100%,.5)}.dark .dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:shadow-white\/20{--tw-shadow-color:hsla(0,0%,100%,.2);--tw-shadow:var(--tw-shadow-colored)}.dark .dark\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.dark .dark\:visited\:text-orange:visited{color:#ff9f00}.dark .dark\:visited\:text-white:visited{color:#fff}.dark .dark\:hover\:bg-slate:hover{--tw-bg-opacity:1;background-color:rgb(49 74 87/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-charcoal\/75:hover{background-color:rgba(23,42,52,.75)}.dark .dark\:hover\:bg-charcoal:hover{--tw-bg-opacity:1;background-color:rgb(23 42 52/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:hover\:text-orange:hover{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.dark .dark\:hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:hover\:shadow-\[0_0_5px_5px_rgba\(0\2c 100\2c 100\2c 0\.05\)\]:hover{--tw-shadow:0 0 5px 5px rgba(0,100,100,.05);--tw-shadow-colored:0 0 5px 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark .group:hover .dark\:group-hover\:text-orange{--tw-text-opacity:1;color:rgb(255 159 0/var(--tw-text-opacity))}.dark .group:hover .dark\:group-hover\:\[text-shadow\:_0_0_5px_rgb\(255_255_255_\/_25\%\)\],.dark .group:hover .dark\:group-hover\:\[text-shadow\:_0_0px_5px_rgb\(255_255_255_\/_25\%\)\]{text-shadow:0 0 5px hsla(0,0%,100%,.25)}@media (min-width:640px){.sm\:mt-24{margin-top:6rem}.sm\:mt-0{margin-top:0}.sm\:ml-3{margin-left:.75rem}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2.75rem*var(--tw-space-y-reverse));margin-top:calc(2.75rem*(1 - var(--tw-space-y-reverse)))}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}}@media (min-width:768px){.md\:fixed{position:fixed}.md\:top-0{top:0}.md\:order-2{order:2}.md\:col-span-1{grid-column:span 1/span 1}.md\:float-right{float:right}.md\:my-5{margin-bottom:1.25rem;margin-top:1.25rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-16{margin-bottom:4rem;margin-top:4rem}.md\:mt-14{margin-top:3.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:mb-5{margin-bottom:1.25rem}.md\:mt-5{margin-top:1.25rem}.md\:mb-3{margin-bottom:.75rem}.md\:mt-3{margin-top:.75rem}.md\:mt-8{margin-top:2rem}.md\:ml-\[40px\]{margin-left:40px}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-0{margin-bottom:0}.md\:mt-11{margin-top:2.75rem}.md\:mb-11{margin-bottom:2.75rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-5{margin-left:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:w-full{width:100%}.md\:w-1\/5{width:20%}.md\:w-auto{width:auto}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-1\/6{width:16.666667%}.md\:w-\[70\%\]{width:70%}.md\:w-1\/4{width:25%}.md\:w-5\/6{width:83.333333%}.md\:min-w-\[200px\]{min-width:200px}.md\:min-w-\[150px\]{min-width:150px}.md\:max-w-3xl{max-width:48rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:justify-start{justify-content:flex-start}.md\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.md\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.md\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.md\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(4rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(4rem*var(--tw-space-x-reverse))}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.md\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(2px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(2px*var(--tw-divide-x-reverse))}.md\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.md\:rounded-tl-none{border-top-left-radius:0}.md\:border{border-width:1px}.md\:border-0{border-width:0}.md\:border-b{border-bottom-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-l-0{border-left-width:0}.md\:border-l-2{border-left-width:2px}.md\:border-b-0{border-bottom-width:0}.md\:border-orange{--tw-border-opacity:1;border-color:rgb(255 159 0/var(--tw-border-opacity))}.md\:border-slate{--tw-border-opacity:1;border-color:rgb(49 74 87/var(--tw-border-opacity))}.md\:p-11{padding:2.75rem}.md\:p-2{padding:.5rem}.md\:p-5{padding:1.25rem}.md\:p-0{padding:0}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:px-0{padding-left:0;padding-right:0}.md\:py-4{padding-bottom:1rem;padding-top:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-1{padding-bottom:.25rem;padding-top:.25rem}.md\:py-2{padding-bottom:.5rem;padding-top:.5rem}.md\:py-0{padding-bottom:0;padding-top:0}.md\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\:pl-3{padding-left:.75rem}.md\:pr-6{padding-right:1.5rem}.md\:pt-11{padding-top:2.75rem}.md\:pb-11{padding-bottom:2.75rem}.md\:pb-0{padding-bottom:0}.md\:pl-6{padding-left:1.5rem}.md\:pt-6{padding-top:1.5rem}.md\:text-left{text-align:left}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-1{order:1}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-last{order:9999}.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\:my-0{margin-bottom:0;margin-top:0}.lg\:my-16{margin-bottom:4rem;margin-top:4rem}.lg\:mb-0{margin-bottom:0}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:mt-16{margin-top:4rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mt-4{margin-top:1rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:flex{display:flex}.lg\:max-h-max{max-height:-moz-max-content;max-height:max-content}.lg\:w-1\/2{width:50%}.lg\:min-w-\[300px\]{min-width:300px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,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-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:gap-y-5{row-gap:1.25rem}.lg\:gap-y-0{row-gap:0}.lg\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(3rem*var(--tw-space-x-reverse))}.lg\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.lg\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.25rem*var(--tw-space-x-reverse))}.lg\:rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.lg\:rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:pt-6{padding-top:1.5rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1280px){.xl\:block{display:block}.xl\:inline{display:inline}.xl\:hidden{display:none}.xl\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}}