@keyframes vui-blink-border-red {
    30% {
        border-color: #f25153
    }

    50% {
        border-color: #f25153
    }
}

@keyframes vui-blink-color-red {
    30% {
        color: #f25153
    }

    50% {
        color: #f25153
    }
}

@keyframes vui-blink-border-yellow {
    30% {
        border-color: #edac01
    }

    50% {
        border-color: #edac01
    }
}

@keyframes vui-blink-color-yellow {
    30% {
        color: #edac01
    }

    50% {
        color: #edac01
    }
}

@keyframes vui-default-appear {
    0% {
        opacity: 0;
        transform: scale(.8)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes vui-default-disappear {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    to {
        opacity: 0;
        transform: scale(.8)
    }
}

@keyframes vui-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes vui-highlight-entry {
    0% {
        background-color: #ffe5ae
    }

    70% {
        background-color: #ffe5ae
    }

    to {
        background-color: #0000
    }
}

@media print {
    .print-hide {
        display: none !important
    }

    .print-keep-colors {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }

    .print-no-shadow {
        box-shadow: none !important
    }

    .print-only {
        display: inherit !important
    }

    .print-full-width {
        grid-column: 1/-1 !important;
        width: 100% !important
    }
}

@media (width<=599px) {
    .vui-hidden-until-sm {
        display: none !important
    }
}

@media (width<=949px) {
    .vui-hidden-until-md {
        display: none !important
    }
}

@media (width<=1199px) {
    .vui-hidden-until-lg {
        display: none !important
    }
}

@media (width>=600px) {
    .vui-visible-until-xs {
        display: none !important
    }
}

@media (width>=950px) {
    .vui-visible-until-sm {
        display: none !important
    }
}

@media (width>=1200px) {
    .vui-visible-until-md {
        display: none !important
    }
}

@container (width<=599px) {
    .vui-hidden-until-container-sm {
        display: none !important
    }
}

@container (width<=949px) {
    .vui-hidden-until-container-md {
        display: none !important
    }
}

@container (width<=1199px) {
    .vui-hidden-until-container-lg {
        display: none !important
    }
}

@container (width>=600px) {
    .vui-visible-until-container-xs {
        display: none !important
    }
}

@container (width>=950px) {
    .vui-visible-until-container-sm {
        display: none !important
    }
}

@container (width>=1200px) {
    .vui-visible-until-container-md {
        display: none !important
    }
}

@media (pointer:fine) {
    .vui-hidden-for-mouse {
        display: none !important
    }
}

@media (pointer:coarse) {
    .vui-hidden-for-touch {
        display: none !important
    }
}

.book-flip-container {
    width: 100%;
    max-width: 2200px;
    margin: 0 auto;
    padding: 1rem
}

.books-flip-grid {
    grid-gap: 1rem;
    padding: 0 var(--content-padding);
    box-sizing: border-box;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: 1rem;
    display: grid
}

@media (width>=600px) {
    .books-flip-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem
    }
}

@media (width>=900px) {
    .books-flip-grid {
        grid-template-columns: repeat(6, 1fr);
        gap: 2rem;
        padding: 0 4rem
    }
}

@media (width>=1024px) {
    .books-flip-grid {
        grid-template-columns: repeat(8, 1fr)
    }
}

.book-card {
    perspective: 1000px;
    aspect-ratio: 1/1.5;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    width: 100%;
    animation: .6s ease-out 80ms both book-fade-in;
    display: flex;
    position: relative
}

.book-card:hover .book-cover {
    box-shadow: 0 0 20px var(--accent-translucent), 0 8px 24px #0006;
    transform: scale(1.05)
}

.book-card:hover .book-tooltip {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%)translateY(-50%)
}

.book-card:after {
    content: "";
    background-color: var(--dark-backdrop);
    z-index: -1;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    transform: translateZ(-100px)
}

.book-card-cover {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative
}

.book-card-cover.flipping-out {
    animation: .4s ease-in forwards flip-out
}

.book-card-cover.flipping-in {
    animation: .4s ease-out forwards flip-in
}

.book-card-cover img {
    border-radius: 10px;
    width: 100%;
    height: auto;
    transition: box-shadow .3s, transform .3s;
    display: block;
    box-shadow: 0 4px 8px #0000004d, 0 8px 16px #0003
}

@keyframes flip-out {
    0% {
        transform: rotateY(0)
    }

    to {
        transform: rotateY(90deg)
    }
}

@keyframes flip-in {
    0% {
        transform: rotateY(90deg)
    }

    to {
        transform: rotateY(0)
    }
}

@keyframes book-fade-in {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.book-tooltip {
    text-align: center;
    background: var(--dark-translucent);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor), 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    z-index: 100;
    border-radius: .75rem;
    width: 100%;
    padding: 1rem;
    transition: opacity .2s, transform .2s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%)
}

@media (prefers-reduced-motion:reduce) {
    .book-card-cover {
        animation: none !important
    }

    .book-card {
        animation: none
    }
}

@media print {
    .print-hide {
        display: none !important
    }

    .print-keep-colors {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }

    .print-no-shadow {
        box-shadow: none !important
    }

    .print-only {
        display: inherit !important
    }

    .print-full-width {
        grid-column: 1/-1 !important;
        width: 100% !important
    }
}

@media (width<=599px) {
    .vui-hidden-until-sm {
        display: none !important
    }
}

@media (width<=949px) {
    .vui-hidden-until-md {
        display: none !important
    }
}

@media (width<=1199px) {
    .vui-hidden-until-lg {
        display: none !important
    }
}

@media (width>=600px) {
    .vui-visible-until-xs {
        display: none !important
    }
}

@media (width>=950px) {
    .vui-visible-until-sm {
        display: none !important
    }
}

@media (width>=1200px) {
    .vui-visible-until-md {
        display: none !important
    }
}

@container (width<=599px) {
    .vui-hidden-until-container-sm {
        display: none !important
    }
}

@container (width<=949px) {
    .vui-hidden-until-container-md {
        display: none !important
    }
}

@container (width<=1199px) {
    .vui-hidden-until-container-lg {
        display: none !important
    }
}

@container (width>=600px) {
    .vui-visible-until-container-xs {
        display: none !important
    }
}

@container (width>=950px) {
    .vui-visible-until-container-sm {
        display: none !important
    }
}

@container (width>=1200px) {
    .vui-visible-until-container-md {
        display: none !important
    }
}

@media (pointer:fine) {
    .vui-hidden-for-mouse {
        display: none !important
    }
}

@media (pointer:coarse) {
    .vui-hidden-for-touch {
        display: none !important
    }
}

.tabs-manager .tab-nav {
    cursor: pointer;
    border: 1px solid #0000;
    border-radius: .5rem;
    padding: .5rem;
    transition: all .2s ease-in-out
}

.tabs-manager .tab-nav:hover {
    background-color: var(--bgColor-muted);
    border: 1px solid var(--neutral);
    color: var(--fgColor-base)
}

.tabs-manager .tab-nav.active {
    background-color: var(--warning-muted);
    border: 1px solid var(--warning);
    color: var(--fgColor-base)
}

.tabs-manager .tab {
    display: none
}

.tabs-manager .tab.active {
    display: block
}

@media print {
    .print-hide {
        display: none !important
    }

    .print-keep-colors {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }

    .print-no-shadow {
        box-shadow: none !important
    }

    .print-only {
        display: inherit !important
    }

    .print-full-width {
        grid-column: 1/-1 !important;
        width: 100% !important
    }
}

@media (width<=599px) {
    .vui-hidden-until-sm {
        display: none !important
    }
}

@media (width<=949px) {
    .vui-hidden-until-md {
        display: none !important
    }
}

@media (width<=1199px) {
    .vui-hidden-until-lg {
        display: none !important
    }
}

@media (width>=600px) {
    .vui-visible-until-xs {
        display: none !important
    }
}

@media (width>=950px) {
    .vui-visible-until-sm {
        display: none !important
    }
}

@media (width>=1200px) {
    .vui-visible-until-md {
        display: none !important
    }
}

@container (width<=599px) {
    .vui-hidden-until-container-sm {
        display: none !important
    }
}

@container (width<=949px) {
    .vui-hidden-until-container-md {
        display: none !important
    }
}

@container (width<=1199px) {
    .vui-hidden-until-container-lg {
        display: none !important
    }
}

@container (width>=600px) {
    .vui-visible-until-container-xs {
        display: none !important
    }
}

@container (width>=950px) {
    .vui-visible-until-container-sm {
        display: none !important
    }
}

@container (width>=1200px) {
    .vui-visible-until-container-md {
        display: none !important
    }
}

@media (pointer:fine) {
    .vui-hidden-for-mouse {
        display: none !important
    }
}

@media (pointer:coarse) {
    .vui-hidden-for-touch {
        display: none !important
    }
}

[data-type-on-text] {
    display: inline-block
}

[data-type-on-text] [data-text-display] {
    position: relative
}

[data-type-on-text] [data-text-display]:after {
    content: "";
    background-color: var(--accent);
    width: .1rem;
    height: 80%;
    animation: .8s infinite blink;
    display: block;
    position: absolute;
    top: 10%;
    right: -.15rem
}

@keyframes blink {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0
    }
}

[data-type-on-text-images] img {
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease-in-out;
    display: block
}

[data-type-on-text-images] img.active {
    opacity: 1;
    pointer-events: auto
}

.print-only {
    display: none !important
}

@media print {
    .print-hide {
        display: none !important
    }

    .print-keep-colors {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }

    .print-no-shadow {
        box-shadow: none !important
    }

    .print-only {
        display: inherit !important
    }

    .print-full-width {
        grid-column: 1/-1 !important;
        width: 100% !important
    }
}

.padding-bottom-1em {
    padding-bottom: 8px !important
}

.padding-bottom-2em {
    padding-bottom: 16px !important
}

.padding-bottom-3em {
    padding-bottom: 24px !important
}

.padding-bottom-4em {
    padding-bottom: 32px !important
}

.padding-bottom-5em {
    padding-bottom: 40px !important
}

.padding-bottom-6em {
    padding-bottom: 48px !important
}

.padding-bottom-7em {
    padding-bottom: 56px !important
}

.padding-bottom-8em {
    padding-bottom: 64px !important
}

.padding-bottom-none {
    padding-bottom: 0 !important
}

.padding-bottom-0-5em {
    padding-bottom: 4px !important
}

.padding-left-1em {
    padding-left: 8px !important
}

.padding-left-2em {
    padding-left: 16px !important
}

.padding-left-3em {
    padding-left: 24px !important
}

.padding-left-4em {
    padding-left: 32px !important
}

.padding-left-5em {
    padding-left: 40px !important
}

.padding-left-6em {
    padding-left: 48px !important
}

.padding-left-7em {
    padding-left: 56px !important
}

.padding-left-8em {
    padding-left: 64px !important
}

.padding-left-none {
    padding-left: 0 !important
}

.padding-left-0-5em {
    padding-left: 4px !important
}

.padding-right-1em {
    padding-right: 8px !important
}

.padding-right-2em {
    padding-right: 16px !important
}

.padding-right-3em {
    padding-right: 24px !important
}

.padding-right-4em {
    padding-right: 32px !important
}

.padding-right-5em {
    padding-right: 40px !important
}

.padding-right-6em {
    padding-right: 48px !important
}

.padding-right-7em {
    padding-right: 56px !important
}

.padding-right-8em {
    padding-right: 64px !important
}

.padding-right-none {
    padding-right: 0 !important
}

.padding-right-0-5em {
    padding-right: 4px !important
}

.padding-top-1em {
    padding-top: 8px !important
}

.padding-top-2em {
    padding-top: 16px !important
}

.padding-top-3em {
    padding-top: 24px !important
}

.padding-top-4em {
    padding-top: 32px !important
}

.padding-top-5em {
    padding-top: 40px !important
}

.padding-top-6em {
    padding-top: 48px !important
}

.padding-top-7em {
    padding-top: 56px !important
}

.padding-top-8em {
    padding-top: 64px !important
}

.padding-top-none {
    padding-top: 0 !important
}

.padding-top-0-5em {
    padding-top: 4px !important
}

.padding-x-1em {
    padding-left: 8px !important;
    padding-right: 8px !important
}

.padding-x-2em {
    padding-left: 16px !important;
    padding-right: 16px !important
}

.padding-x-3em {
    padding-left: 24px !important;
    padding-right: 24px !important
}

.padding-x-4em {
    padding-left: 32px !important;
    padding-right: 32px !important
}

.padding-x-5em {
    padding-left: 40px !important;
    padding-right: 40px !important
}

.padding-x-6em {
    padding-left: 48px !important;
    padding-right: 48px !important
}

.padding-x-7em {
    padding-left: 56px !important;
    padding-right: 56px !important
}

.padding-x-8em {
    padding-left: 64px !important;
    padding-right: 64px !important
}

.padding-x-none {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.padding-x-0-5em {
    padding-left: 4px !important;
    padding-right: 4px !important
}

.padding-y-1em {
    padding-top: 8px !important;
    padding-bottom: 8px !important
}

.padding-y-2em {
    padding-top: 16px !important;
    padding-bottom: 16px !important
}

.padding-y-3em {
    padding-top: 24px !important;
    padding-bottom: 24px !important
}

.padding-y-4em {
    padding-top: 32px !important;
    padding-bottom: 32px !important
}

.padding-y-5em {
    padding-top: 40px !important;
    padding-bottom: 40px !important
}

.padding-y-6em {
    padding-top: 48px !important;
    padding-bottom: 48px !important
}

.padding-y-7em {
    padding-top: 56px !important;
    padding-bottom: 56px !important
}

.padding-y-8em {
    padding-top: 64px !important;
    padding-bottom: 64px !important
}

.padding-y-none {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.padding-y-0-5em {
    padding-top: 4px !important;
    padding-bottom: 4px !important
}

.space-bottom-1em {
    margin-bottom: 8px !important
}

.space-bottom-2em {
    margin-bottom: 16px !important
}

.space-bottom-3em {
    margin-bottom: 24px !important
}

.space-bottom-4em {
    margin-bottom: 32px !important
}

.space-bottom-5em {
    margin-bottom: 40px !important
}

.space-bottom-6em {
    margin-bottom: 48px !important
}

.space-bottom-7em {
    margin-bottom: 56px !important
}

.space-bottom-8em {
    margin-bottom: 64px !important
}

.space-bottom-none {
    margin-bottom: 0 !important
}

.space-bottom-0-5em {
    margin-bottom: 4px !important
}

.space-left-1em {
    margin-left: 8px !important
}

.space-left-2em {
    margin-left: 16px !important
}

.space-left-3em {
    margin-left: 24px !important
}

.space-left-4em {
    margin-left: 32px !important
}

.space-left-5em {
    margin-left: 40px !important
}

.space-left-6em {
    margin-left: 48px !important
}

.space-left-7em {
    margin-left: 56px !important
}

.space-left-8em {
    margin-left: 64px !important
}

.space-left-none {
    margin-left: 0 !important
}

.space-left-0-5em {
    margin-left: 4px !important
}

.space-right-1em {
    margin-right: 8px !important
}

.space-right-2em {
    margin-right: 16px !important
}

.space-right-3em {
    margin-right: 24px !important
}

.space-right-4em {
    margin-right: 32px !important
}

.space-right-5em {
    margin-right: 40px !important
}

.space-right-6em {
    margin-right: 48px !important
}

.space-right-7em {
    margin-right: 56px !important
}

.space-right-8em {
    margin-right: 64px !important
}

.space-right-none {
    margin-right: 0 !important
}

.space-right-0-5em {
    margin-right: 4px !important
}

.space-top-1em {
    margin-top: 8px !important
}

.space-top-2em {
    margin-top: 16px !important
}

.space-top-3em {
    margin-top: 24px !important
}

.space-top-4em {
    margin-top: 32px !important
}

.space-top-5em {
    margin-top: 40px !important
}

.space-top-6em {
    margin-top: 48px !important
}

.space-top-7em {
    margin-top: 56px !important
}

.space-top-8em {
    margin-top: 64px !important
}

.space-top-none {
    margin-top: 0 !important
}

.space-top-0-5em {
    margin-top: 4px !important
}

.space-x-1em {
    margin-left: 8px !important;
    margin-right: 8px !important
}

.space-x-2em {
    margin-left: 16px !important;
    margin-right: 16px !important
}

.space-x-3em {
    margin-left: 24px !important;
    margin-right: 24px !important
}

.space-x-4em {
    margin-left: 32px !important;
    margin-right: 32px !important
}

.space-x-5em {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.space-x-6em {
    margin-left: 48px !important;
    margin-right: 48px !important
}

.space-x-7em {
    margin-left: 56px !important;
    margin-right: 56px !important
}

.space-x-8em {
    margin-left: 64px !important;
    margin-right: 64px !important
}

.space-x-none {
    margin-left: 0 !important;
    margin-right: 0 !important
}

.space-y-1em {
    margin-top: 8px !important;
    margin-bottom: 8px !important
}

.space-y-2em {
    margin-top: 16px !important;
    margin-bottom: 16px !important
}

.space-y-3em {
    margin-top: 24px !important;
    margin-bottom: 24px !important
}

.space-y-4em {
    margin-top: 32px !important;
    margin-bottom: 32px !important
}

.space-y-5em {
    margin-top: 40px !important;
    margin-bottom: 40px !important
}

.space-y-6em {
    margin-top: 48px !important;
    margin-bottom: 48px !important
}

.space-y-7em {
    margin-top: 56px !important;
    margin-bottom: 56px !important
}

.space-y-8em {
    margin-top: 64px !important;
    margin-bottom: 64px !important
}

.space-y-none {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.break-word {
    overflow-wrap: anywhere;
    word-break: normal
}

.break-all {
    word-break: break-all
}

.valign-bottom {
    vertical-align: bottom !important
}

.valign-initial {
    vertical-align: baseline !important;
    vertical-align: initial !important
}

.valign-middle {
    vertical-align: middle !important
}

.valign-top {
    vertical-align: top !important
}

.text-no-transform {
    text-transform: none !important
}

.font-size-large {
    font-size: 18px
}

.font-weight-normal {
    font-weight: 400 !important
}

.font-weight-bold {
    font-weight: 500 !important
}

.font-weight-heavy {
    font-weight: 700 !important
}

.ellipsis {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.font-base {
    font-family: Rubik, sans-serif
}

.font-alt {
    font-family: Lora, serif
}

.font-size-xs {
    font-size: 12px
}

.font-size-sm {
    font-size: 14px
}

.font-size-base {
    font-size: 16px
}

.font-size-lg {
    font-size: 18px
}

.font-size-xl {
    font-size: 28px
}

.font-size-xxl {
    font-size: 36px
}

.font-size-xxxl {
    font-size: 44px
}

.vui-tabular-nums {
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums
}

.vui-hidden {
    display: none !important
}

@media (width<=599px) {
    .vui-hidden-until-sm {
        display: none !important
    }
}

@media (width<=949px) {
    .vui-hidden-until-md {
        display: none !important
    }
}

@media (width<=1199px) {
    .vui-hidden-until-lg {
        display: none !important
    }
}

.vui-overflow-visible {
    overflow: visible !important
}

@media (width>=600px) {
    .vui-visible-until-xs {
        display: none !important
    }
}

@media (width>=950px) {
    .vui-visible-until-sm {
        display: none !important
    }
}

@media (width>=1200px) {
    .vui-visible-until-md {
        display: none !important
    }
}

@container (width<=599px) {
    .vui-hidden-until-container-sm {
        display: none !important
    }
}

@container (width<=949px) {
    .vui-hidden-until-container-md {
        display: none !important
    }
}

@container (width<=1199px) {
    .vui-hidden-until-container-lg {
        display: none !important
    }
}

@container (width>=600px) {
    .vui-visible-until-container-xs {
        display: none !important
    }
}

@container (width>=950px) {
    .vui-visible-until-container-sm {
        display: none !important
    }
}

@container (width>=1200px) {
    .vui-visible-until-container-md {
        display: none !important
    }
}

@media (pointer:fine) {
    .vui-hidden-for-mouse {
        display: none !important
    }
}

@media (pointer:coarse) {
    .vui-hidden-for-touch {
        display: none !important
    }
}

:root {
    --fontFamily-base: Rubik, Rubik-bold-fallback, Arial, sans-serif;
    --fontWeight-base-bold: 500;
    --fontFamily-serif: Lora, Lora-fallback, Times New Roman, serif;
    --fontWeight-serif-bold: 700;
    --fontWeight-headings: 500
}

:root .dark-theme {
    --bgColor-base: #26343f;
    --bgColor-emphasis: #f8f9f9;
    --bgColor-muted: #1d2730;
    --bgColor-inset: #141b22;
    --bgColor-translucent: #64727f80;
    --bgColor-overlay: #0b0f13e6;
    --fgColor-base: #fff;
    --fgColor-muted: #bbc0c8;
    --fgColor-disabled: #3a4d5a;
    --dividerColor: color-mix(in srgb, currentColor 15%, transparent);
    --outlineColor: #bbc0c833;
    --form-borderColor: #64727f;
    --form-focusColor: #edac0133;
    --shadowColor: #11111a80;
    --shadowColor-muted: #11111a40;
    --primary: #12a4e2;
    --primary-emphasis: #43bcea;
    --primary-muted: #104069;
    --primary-backdrop: #0d2d4d;
    --primary-translucent: #12a4e233;
    --primary-onBase: #fff;
    --primary-onEmphasis: #fff;
    --primary-onMuted: #afe8f9;
    --neutral: #3a4d5a;
    --neutral-emphasis: #64727f;
    --neutral-muted: #26343f;
    --neutral-backdrop: #0b0f13;
    --neutral-translucent: #bbc0c833;
    --neutral-onBase: var(--fgColor-base);
    --neutral-onEmphasis: var(--fgColor-base);
    --neutral-onMuted: var(--fgColor-muted);
    --success: #669213;
    --success-emphasis: #7eae13;
    --success-muted: #2b450d;
    --success-backdrop: #182a07;
    --success-translucent: #7eae1333;
    --success-onBase: #fff;
    --success-onEmphasis: #fff;
    --success-onMuted: #b3d744;
    --danger: #d4494d;
    --danger-emphasis: #f25153;
    --danger-muted: #7b3035;
    --danger-backdrop: #5f262a;
    --danger-translucent: #f2515333;
    --danger-onBase: #fff;
    --danger-onEmphasis: #fff;
    --danger-onMuted: #fe7169;
    --warning: #c88307;
    --warning-emphasis: #edac01;
    --warning-muted: #63300e;
    --warning-backdrop: #451f0c;
    --warning-translucent: #f5bc2c33;
    --warning-onBase: #fff;
    --warning-onEmphasis: #fff;
    --warning-onMuted: #facc58;
    --dark: #1d2730;
    --dark-emphasis: #30404c;
    --dark-muted: #141b22;
    --dark-backdrop: #0b0f13;
    --dark-translucent: #bbc0c833;
    --dark-onBase: #fff;
    --dark-onEmphasis: #fff;
    --dark-onMuted: #64727f
}

:root .dark-theme .accent-purple {
    --accent: #a27ab8;
    --accent-emphasis: #b990ca;
    --accent-muted: #54425f;
    --accent-backdrop: #40344a;
    --accent-translucent: #a27ab833;
    --accent-onBase: #fff;
    --accent-onEmphasis: #fff;
    --accent-onMuted: #cfa7d9
}

:root .dark-theme .img-icon {
    filter: invert()brightness(2)
}

:root {
    --bgColor-base: #fff;
    --bgColor-emphasis: #26343f;
    --bgColor-muted: #f1f3f3;
    --bgColor-inset: #e3e6e6;
    --bgColor-translucent: #e3e6e633;
    --bgColor-overlay: #0b0f13cc;
    --fgColor-base: #1d2730;
    --fgColor-muted: #64727f;
    --fgColor-disabled: #3a4d5a;
    --fgColor-light: #fff;
    --fgColor-dark: #1d2730;
    --fgColor-onBase: #fff;
    --fgColor-onEmphasis: #fff;
    --fgColor-onMuted: #fff;
    --fgColor-link: #1387c2;
    --dividerColor: color-mix(in srgb, currentColor 15%, transparent);
    --outlineColor: #bbc0c81a;
    --form-borderColor: #d0d3d3;
    --form-focusColor: #edac0133;
    --shadowColor: #11111a26;
    --shadowColor-muted: #11111a1a;
    --primary: #12a4e2;
    --primary-emphasis: #1387c2;
    --primary-muted: #e5faff;
    --primary-backdrop: #0d2d4d;
    --primary-translucent: #12a4e233;
    --primary-onBase: #fff;
    --primary-onEmphasis: #fff;
    --primary-onMuted: #1387c2;
    --neutral: #bbc0c899;
    --neutral-emphasis: #8f99a480;
    --neutral-muted: #bbc0c899;
    --neutral-backdrop: #64727f;
    --neutral-translucent: #bbc0c833;
    --neutral-onBase: var(--fgColor-base);
    --neutral-onEmphasis: var(--fgColor-base);
    --neutral-onMuted: var(--fgColor-muted);
    --success: #7eae13;
    --success-emphasis: #669213;
    --success-muted: #eff6d6;
    --success-backdrop: #2b450d;
    --success-translucent: #7eae1333;
    --success-onBase: #fff;
    --success-onEmphasis: #fff;
    --success-onMuted: #507812;
    --danger: #f25153;
    --danger-emphasis: #d4494d;
    --danger-muted: #ffdccc;
    --danger-backdrop: #5f262a;
    --danger-translucent: #f2515333;
    --danger-onBase: #fff;
    --danger-onEmphasis: #fff;
    --danger-onMuted: #d4494d;
    --warning: #edac01;
    --warning-emphasis: #c88307;
    --warning-muted: #fff2d2;
    --warning-backdrop: #451f0c;
    --warning-translucent: #a4620b33;
    --warning-onBase: #fff;
    --warning-onEmphasis: #fff;
    --warning-onMuted: #c88307;
    --dark: #26343f;
    --dark-emphasis: #1d2730;
    --dark-muted: #3a4d5a;
    --dark-backdrop: #141b22;
    --dark-translucent: #bbc0c833;
    --dark-onBase: #fff;
    --dark-onEmphasis: #fff;
    --dark-onMuted: #c88307;
    --light: #fff;
    --light-emphasis: #eaeced;
    --light-muted: #eaeced;
    --light-backdrop: #989b9b;
    --light-translucent: #bdc1c133;
    --light-onBase: var(--fgColor-base);
    --light-onEmphasis: var(--fgColor-base);
    --light-onMuted: #64727f
}

:root .accent-blue {
    --accent: var(--primary);
    --accent-emphasis: var(--primary-emphasis);
    --accent-muted: var(--primary-muted);
    --accent-backdrop: var(--primary-backdrop);
    --accent-translucent: var(--primary-translucent);
    --accent-onBase: var(--primary-onBase);
    --accent-onEmphasis: var(--primary-onEmphasis);
    --accent-onMuted: var(--primary-onMuted)
}

:root .accent-green {
    --accent: var(--success);
    --accent-emphasis: var(--success-emphasis);
    --accent-muted: var(--success-muted);
    --accent-backdrop: var(--success-backdrop);
    --accent-translucent: var(--success-translucent);
    --accent-onBase: var(--success-onBase);
    --accent-onEmphasis: var(--success-onEmphasis);
    --accent-onMuted: var(--success-onMuted)
}

:root .accent-yellow {
    --accent: var(--warning);
    --accent-emphasis: var(--warning-emphasis);
    --accent-muted: var(--warning-muted);
    --accent-backdrop: var(--warning-backdrop);
    --accent-translucent: var(--warning-translucent);
    --accent-onBase: var(--warning-onBase);
    --accent-onEmphasis: var(--warning-onEmphasis);
    --accent-onMuted: var(--warning-onMuted)
}

:root .accent-red {
    --accent: var(--danger);
    --accent-emphasis: var(--danger-emphasis);
    --accent-muted: var(--danger-muted);
    --accent-backdrop: var(--danger-backdrop);
    --accent-translucent: var(--danger-translucent);
    --accent-onBase: var(--danger-onBase);
    --accent-onEmphasis: var(--danger-onEmphasis);
    --accent-onMuted: var(--danger-onMuted)
}

:root .accent-purple {
    --accent: #a27ab8;
    --accent-emphasis: #8e6ca2;
    --accent-muted: #f1dcf3;
    --accent-backdrop: #54425f;
    --accent-translucent: #a27ab833;
    --accent-onBase: #fff;
    --accent-onEmphasis: #fff;
    --accent-onMuted: #8e6ca2
}

.bg-hero {
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: contain
}

.bg-blur {
    -webkit-backdrop-filter: blur(.5rem);
    backdrop-filter: blur(.5rem)
}

.bgColor-base {
    background-color: #fff !important;
    background-color: var(--bgColor-base) !important
}

.bgColor-emphasis {
    background-color: #26343f !important;
    background-color: var(--bgColor-emphasis) !important
}

.bgColor-muted {
    background-color: #f1f3f3 !important;
    background-color: var(--bgColor-muted) !important
}

.bgColor-translucent {
    background-color: #e3e6e633 !important;
    background-color: var(--bgColor-translucent) !important
}

.bgColor-inset {
    background-color: #e3e6e6 !important;
    background-color: var(--bgColor-inset) !important
}

.bgColor-accent-emphasis {
    background-color: var(--accent-emphasis) !important
}

.bgColor-accent-muted {
    background-color: var(--accent-muted) !important
}

.bgColor-accent-backdrop {
    background-color: var(--accent-backdrop) !important
}

.bgColor-accent-translucent {
    background-color: var(--accent-translucent) !important
}

.bgColor-accent {
    background-color: var(--accent) !important
}

.bgGradient-accent-muted {
    background: linear-gradient(var(--accent-muted), transparent)
}

.bgColor-primary-emphasis {
    background-color: #1387c2 !important;
    background-color: var(--primary-emphasis) !important
}

.bgColor-primary-muted {
    background-color: #e5faff !important;
    background-color: var(--primary-muted) !important
}

.bgColor-primary-backdrop {
    background-color: #0d2d4d !important;
    background-color: var(--primary-backdrop) !important
}

.bgColor-primary-translucent {
    background-color: #12a4e233 !important;
    background-color: var(--primary-translucent) !important
}

.bgColor-primary {
    background-color: #12a4e2 !important;
    background-color: var(--primary) !important
}

.bgGradient-primary-muted {
    background: linear-gradient(#e5faff, #0000);
    background: linear-gradient(var(--primary-muted), transparent)
}

.bgColor-neutral-emphasis {
    background-color: #8f99a480 !important;
    background-color: var(--neutral-emphasis) !important
}

.bgColor-neutral-muted {
    background-color: #bbc0c899 !important;
    background-color: var(--neutral-muted) !important
}

.bgColor-neutral-backdrop {
    background-color: #64727f !important;
    background-color: var(--neutral-backdrop) !important
}

.bgColor-neutral-translucent {
    background-color: #bbc0c833 !important;
    background-color: var(--neutral-translucent) !important
}

.bgColor-neutral {
    background-color: #bbc0c899 !important;
    background-color: var(--neutral) !important
}

.bgGradient-neutral-muted {
    background: linear-gradient(#bbc0c899, #0000);
    background: linear-gradient(var(--neutral-muted), transparent)
}

.bgColor-success-emphasis {
    background-color: #669213 !important;
    background-color: var(--success-emphasis) !important
}

.bgColor-success-muted {
    background-color: #eff6d6 !important;
    background-color: var(--success-muted) !important
}

.bgColor-success-backdrop {
    background-color: #2b450d !important;
    background-color: var(--success-backdrop) !important
}

.bgColor-success-translucent {
    background-color: #7eae1333 !important;
    background-color: var(--success-translucent) !important
}

.bgColor-success {
    background-color: #7eae13 !important;
    background-color: var(--success) !important
}

.bgGradient-success-muted {
    background: linear-gradient(#eff6d6, #0000);
    background: linear-gradient(var(--success-muted), transparent)
}

.bgColor-danger-emphasis {
    background-color: #d4494d !important;
    background-color: var(--danger-emphasis) !important
}

.bgColor-danger-muted {
    background-color: #ffdccc !important;
    background-color: var(--danger-muted) !important
}

.bgColor-danger-backdrop {
    background-color: #5f262a !important;
    background-color: var(--danger-backdrop) !important
}

.bgColor-danger-translucent {
    background-color: #f2515333 !important;
    background-color: var(--danger-translucent) !important
}

.bgColor-danger {
    background-color: #f25153 !important;
    background-color: var(--danger) !important
}

.bgGradient-danger-muted {
    background: linear-gradient(#ffdccc, #0000);
    background: linear-gradient(var(--danger-muted), transparent)
}

.bgColor-warning-emphasis {
    background-color: #c88307 !important;
    background-color: var(--warning-emphasis) !important
}

.bgColor-warning-muted {
    background-color: #fff2d2 !important;
    background-color: var(--warning-muted) !important
}

.bgColor-warning-backdrop {
    background-color: #451f0c !important;
    background-color: var(--warning-backdrop) !important
}

.bgColor-warning-translucent {
    background-color: #a4620b33 !important;
    background-color: var(--warning-translucent) !important
}

.bgColor-warning {
    background-color: #edac01 !important;
    background-color: var(--warning) !important
}

.bgGradient-warning-muted {
    background: linear-gradient(#fff2d2, #0000);
    background: linear-gradient(var(--warning-muted), transparent)
}

.bgColor-dark-emphasis {
    background-color: #1d2730 !important;
    background-color: var(--dark-emphasis) !important
}

.bgColor-dark-muted {
    background-color: #3a4d5a !important;
    background-color: var(--dark-muted) !important
}

.bgColor-dark-backdrop {
    background-color: #141b22 !important;
    background-color: var(--dark-backdrop) !important
}

.bgColor-dark-translucent {
    background-color: #bbc0c833 !important;
    background-color: var(--dark-translucent) !important
}

.bgColor-dark {
    background-color: #26343f !important;
    background-color: var(--dark) !important
}

.bgGradient-dark-muted {
    background: linear-gradient(#3a4d5a, #0000);
    background: linear-gradient(var(--dark-muted), transparent)
}

.border {
    border-style: solid;
    border-color: color-mix(in srgb, currentColor 15%, transparent);
    border-color: var(--dividerColor)
}

.border-t {
    border-top-width: .0625rem
}

.border-b {
    border-bottom-width: .0625rem
}

.border-l {
    border-left-width: .0625rem
}

.border-r {
    border-right-width: .0625rem
}

.border-base {
    border-width: .0625rem
}

.border-md {
    border-width: .125rem
}

.border-lg {
    border-width: .25rem
}

.border-dashed {
    border-style: dashed
}

.br-sm {
    border-radius: .25rem !important
}

.br-base {
    border-radius: .5rem !important
}

.br-lg {
    border-radius: 1rem !important
}

.br-round {
    border-radius: 50cqh !important
}

.borderColor-accent {
    border-color: var(--accent) !important
}

.borderColor-accent-translucent {
    border-color: var(--accent-translucent) !important
}

.borderColor-primary {
    border-color: #12a4e2 !important;
    border-color: var(--primary) !important
}

.borderColor-neutral {
    border-color: #bbc0c899 !important;
    border-color: var(--neutral) !important
}

.borderColor-success {
    border-color: #7eae13 !important;
    border-color: var(--success) !important
}

.borderColor-danger {
    border-color: #f25153 !important;
    border-color: var(--danger) !important
}

.borderColor-warning {
    border-color: #edac01 !important;
    border-color: var(--warning) !important
}

.borderColor-light {
    border-color: #fff !important;
    border-color: var(--light) !important
}

.borderColor-dark {
    border-color: #26343f !important;
    border-color: var(--dark) !important
}

.bs-base {
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor)
}

.bs-lg {
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor)
}

.fgColor-onEmphasis {
    color: var(--fgColor-onEmphasis)
}

.fgColor-inherit,
.fgColor-inherit:hover {
    color: inherit
}

.fgColor-accent {
    color: var(--accent) !important
}

.fgColor-primary {
    color: var(--primary) !important
}

.fgColor-neutral {
    color: var(--neutral) !important
}

.fgColor-success {
    color: var(--success) !important
}

.fgColor-danger {
    color: var(--danger) !important
}

.fgColor-warning {
    color: var(--warning) !important
}

.fgColor-base {
    color: var(--fgColor-base) !important
}

.fgColor-muted {
    color: var(--fgColor-muted) !important
}

.fgColor-light {
    color: var(--fgColor-light) !important
}

.fgColor-dark {
    color: var(--fgColor-dark) !important
}

.fgColor-accent-onMuted {
    color: var(--accent-onMuted)
}

.fgColor-accent-onEmphasis {
    color: var(--accent-onEmphasis)
}

.fgColor-accent-onBase {
    color: var(--accent-onBase)
}

.fgColor-primary-onMuted {
    color: var(--primary-onMuted)
}

.fgColor-primary-onEmphasis {
    color: var(--primary-onEmphasis)
}

.fgColor-primary-onBase {
    color: var(--primary-onBase)
}

.fgColor-neutral-onMuted {
    color: var(--neutral-onMuted)
}

.fgColor-neutral-onEmphasis {
    color: var(--neutral-onEmphasis)
}

.fgColor-neutral-onBase {
    color: var(--neutral-onBase)
}

.fgColor-success-onMuted {
    color: var(--success-onMuted)
}

.fgColor-success-onEmphasis {
    color: var(--success-onEmphasis)
}

.fgColor-success-onBase {
    color: var(--success-onBase)
}

.fgColor-danger-onMuted {
    color: var(--danger-onMuted)
}

.fgColor-danger-onEmphasis {
    color: var(--danger-onEmphasis)
}

.fgColor-danger-onBase {
    color: var(--danger-onBase)
}

.fgColor-warning-onMuted {
    color: var(--warning-onMuted)
}

.fgColor-warning-onEmphasis {
    color: var(--warning-onEmphasis)
}

.fgColor-warning-onBase {
    color: var(--warning-onBase)
}

.hover {
    transition: all .2s
}

.hover-borderAccent {
    outline: .125rem solid #0000
}

.hover-borderAccent:hover {
    outline-color: var(--accent)
}

.hover-bsBase:hover {
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor)
}

.hover-grow:hover {
    transform: scale(1.025)
}

@font-face {
    font-family: remixicon;
    src: url(https://assets-cdn.reedsy.com/vite/assets/remixicon-5ms0VUNe.woff2)format("woff2"), url(https://assets-cdn.reedsy.com/vite/assets/remixicon-B_1bVA-9.woff)format("woff"), url(https://assets-cdn.reedsy.com/vite/assets/remixicon-YS4yDzj0.ttf)format("truetype");
    font-display: swap
}

[class^=icon-],
[class*=\ icon-] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: remixicon !important;
    font-style: normal !important;
    font-weight: 400 !important
}

.icon-lg {
    vertical-align: -.0667em;
    font-size: 1.3333em;
    line-height: .75em
}

.icon-xl {
    vertical-align: -.075em;
    font-size: 1.5em;
    line-height: .6666em
}

.icon-xxs {
    font-size: .5em
}

.icon-xs {
    font-size: .75em
}

.icon-sm {
    font-size: .875em
}

.icon-1x {
    font-size: 1em
}

.icon-2x {
    font-size: 2em
}

.icon-3x {
    font-size: 3em
}

.icon-4x {
    font-size: 4em
}

.icon-5x {
    font-size: 5em
}

.icon-6x {
    font-size: 6em
}

.icon-7x {
    font-size: 7em
}

.icon-8x {
    font-size: 8em
}

.icon-9x {
    font-size: 9em
}

.icon-10x {
    font-size: 10em
}

.icon-fw {
    text-align: center;
    width: 1.25em
}

.icon-add:before {
    content: "î¨“"
}

.icon-add-large:before {
    content: "ï’±"
}

.icon-ai:before {
    content: "ï—µ"
}

.icon-alert:before {
    content: "î¨ "
}

.icon-align-left:before {
    content: "î¨§"
}

.icon-arrow-down:before {
    content: "î©Œ"
}

.icon-arrow-down-s:before {
    content: "î©Ž"
}

.icon-arrow-left:before {
    content: "î© "
}

.icon-arrow-left-s:before {
    content: "î©¤"
}

.icon-arrow-right:before {
    content: "î©¬"
}

.icon-arrow-right-s:before {
    content: "î©®"
}

.icon-arrow-up:before {
    content: "î©¶"
}

.icon-arrow-up-s:before {
    content: "î©¸"
}

.icon-artboard-2:before {
    content: "î©¹"
}

.icon-at:before {
    content: "îªƒ"
}

.icon-book-open:before {
    content: "î«š"
}

.icon-broadcast:before {
    content: "î«¹"
}

.icon-calendar-check:before {
    content: "î¬¢"
}

.icon-calendar-event:before {
    content: "î¬¤"
}

.icon-chat-check:before {
    content: "î­”"
}

.icon-check:before {
    content: "î­»"
}

.icon-close:before {
    content: "î®™"
}

.icon-close-large:before {
    content: "ï“‡"
}

.icon-device:before {
    content: "î°®"
}

.icon-drag-move-2:before {
    content: "î± "
}

.icon-draggable:before {
    content: "ïŽ"
}

.icon-equalizer:before {
    content: "î²"
}

.icon-external-link:before {
    content: "î²¯"
}

.icon-facebook-box:before {
    content: "î²¸"
}

.icon-focus-2:before {
    content: "îµŠ"
}

.icon-folder-3:before {
    content: "îµ“"
}

.icon-glasses:before {
    content: "ïŽ"
}

.icon-hashtag:before {
    content: "î·¼"
}

.icon-import:before {
    content: "ï‘…"
}

.icon-instagram:before {
    content: "î¹¦"
}

.icon-layout-grid:before {
    content: "îº"
}

.icon-lightbulb:before {
    content: "îº©"
}

.icon-line-chart:before {
    content: "îºª"
}

.icon-linkedin-box:before {
    content: "îº³"
}

.icon-links:before {
    content: "îº¸"
}

.icon-list-indefinite:before {
    content: "ïŽ˜"
}

.icon-lock:before {
    content: "î»"
}

.icon-lock-unlock:before {
    content: "î»‘"
}

.icon-loop-right:before {
    content: "ïŒ¿"
}

.icon-mail:before {
    content: "î»³"
}

.icon-menu:before {
    content: "î¼¾"
}

.icon-paint-brush:before {
    content: "î¿€"
}

.icon-pencil:before {
    content: "î¿ "
}

.icon-pencil-ruler-2:before {
    content: "î¿¡"
}

.icon-pinterest:before {
    content: "î¿¿"
}

.icon-pushpin:before {
    content: "ï€¸"
}

.icon-quill-pen:before {
    content: "ï‰"
}

.icon-reset:before {
    content: "ï•"
}

.icon-search:before {
    content: "ïƒ‘"
}

.icon-settings-5:before {
    content: "ïƒ©"
}

.icon-sparkle:before {
    content: "ï¬"
}

.icon-star:before {
    content: "ï††"
}

.icon-subtract:before {
    content: "ï†¯"
}

.icon-table-view:before {
    content: "ï‘«"
}

.icon-timer:before {
    content: "ïˆ•"
}

.icon-trash:before {
    content: "î°©"
}

.icon-twitter-x:before {
    content: "ï¦"
}

.icon-vidicon:before {
    content: "ïŠ‡"
}

.icon-youtube:before {
    content: "ï‹”"
}

.img-full {
    width: 100%;
    height: auto
}

.img-inline {
    display: inline-block
}

.img-cover {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.w-75 {
    max-width: 75%
}

.w-50 {
    max-width: 50%
}

.img-avatar {
    border-radius: 50%
}

.img-invert {
    filter: invert()brightness(2)
}

.img-bg-cover {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: right;
    object-position: right;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0
}

@supports (padding:max(0px)) {
    .content {
        padding-left: max(var(--content-padding)), env(safe-area-inset-left);
        padding-right: max(var(--content-padding)), env(safe-area-inset-right)
    }
}

*,
:before,
:after {
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    height: 100%;
    scroll-padding-top: 80px
}

html,
body,
div,
span,
button,
input,
select,
textarea,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
pre,
a,
em,
img,
small,
strong,
b,
u,
i,
center,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
section,
summary,
audio,
video {
    vertical-align: baseline;
    background: 0 0;
    border: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 100%
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

img {
    vertical-align: middle
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none
}

table {
    text-align: left;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

.h-100 {
    height: 100%
}

.w-100 {
    width: 100%
}

.w-50 {
    width: 50%
}

.w-25 {
    width: 25%
}

.pt-0 {
    padding-top: 0 !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.mb-sm {
    margin-bottom: .5rem
}

.pb-sm {
    padding-bottom: .5rem
}

.mb-base {
    margin-bottom: 1rem
}

.pb-base {
    padding-bottom: 1rem
}

.mb-lg {
    margin-bottom: 2rem
}

.pb-lg {
    padding-bottom: 2rem
}

.mt-sm {
    margin-top: .5rem
}

.pt-sm {
    padding-top: .5rem
}

.mt-base {
    margin-top: 1rem
}

.pt-base {
    padding-top: 1rem
}

.mt-lg {
    margin-top: 2rem
}

.pt-lg {
    padding-top: 2rem
}

.ml-sm {
    margin-left: .5rem
}

.pl-sm {
    padding-left: .5rem
}

.ml-base {
    margin-left: 1rem
}

.pl-base {
    padding-left: 1rem
}

.ml-lg {
    margin-left: 2rem
}

.pl-lg {
    padding-left: 2rem
}

.mr-sm {
    margin-right: .5rem
}

.pr-sm {
    padding-right: .5rem
}

.mr-base {
    margin-right: 1rem
}

.pr-base {
    padding-right: 1rem
}

.mr-lg {
    margin-right: 2rem
}

.pr-lg {
    padding-right: 2rem
}

.hidden {
    display: none !important
}

@media (width<=599px) {
    .hidden-until-sm {
        display: none !important
    }
}

@media (width>=600px) {
    .visible-until-sm {
        display: none !important
    }
}

/* @media (width<=899px) {
    .hidden-until-md {
        display: none !important
    }
} */

@media (width>=900px) {
    .visible-until-md {
        display: none !important
    }
}

@media (width<=1023px) {
    .hidden-until-lg {
        display: none !important
    }
}

@media (width>=1024px) {
    .visible-until-lg {
        display: none !important
    }
}

@media (width<=1280px) {
    .hidden-until-xl {
        display: none !important
    }
}

@media (width>=1280px) {
    .visible-until-xl {
        display: none !important
    }
}

.z-1 {
    z-index: 1
}

.z-0 {
    z-index: 0
}

.grid {
    box-sizing: border-box;
    flex-wrap: wrap;
    gap: .5rem;
    width: 100%;
    display: flex
}

.grid .cell {
    flex: 1
}

.grid .cell-shrink {
    flex: 0 auto
}

@media (width<=899px) {

    .grid.responsive-md>.cell,
    .grid.responsive-md>.cell-shrink {
        flex: 0 0 100%
    }
}

@media (width<=599px) {

    .grid.responsive-sm>.cell,
    .grid.responsive-sm>.cell-shrink {
        flex: 0 0 100%
    }
}

.grid-column {
    grid-gap: .5rem;
    gap: .5rem;
    display: grid
}

.grid-middle {
    align-items: center
}

.grid-center {
    justify-content: center
}

.grid-bottom {
    align-items: end
}

.grid-no-wrap {
    flex-wrap: nowrap
}

.grid-justify {
    justify-content: space-between
}

.grid-justify-v {
    align-content: space-between
}

.gap-xs {
    gap: .25rem
}

.gap-sm {
    gap: .5rem
}

.gap-base {
    gap: 1rem
}

.gap-md {
    gap: 1.5rem
}

.gap-lg {
    gap: 2rem
}

.gap-xl {
    gap: 3rem
}

.grid-shuffle {
    grid-gap: 3rem;
    gap: 3rem;
    display: grid;
    position: relative
}

@media (width<=899px) {
    .grid-shuffle .cell-img {
        margin-top: -2em
    }
}

@media (width>=900px) {
    .grid-shuffle {
        grid-template-columns: 1fr 1fr;
        grid-auto-flow: dense;
        justify-content: center;
        align-items: center
    }

    .grid-shuffle>:nth-child(4n-1) {
        grid-column-start: 2
    }
}

.grid-3 {
    grid-template-columns: 1fr;
    display: grid
}

@media (width>=900px) {
    .grid-3 {
        grid-template-columns: 1fr 1fr 1fr
    }

    .grid-span-2 {
        grid-column: span 2
    }
}

body {
    background-color: #fff;
    background-color: var(--bgColor-base)
}

.content {
    --content-padding: 1rem;
    padding: 0 1rem;
    padding: 0 var(--content-padding);
    box-sizing: border-box;
    max-width: 1016px;
    margin: 0 auto;
    position: relative;
    width: 100%;
}

@media (width>=600px) {
    .content {
        --content-padding: 4rem
    }
}

@media (width>=900px) {
    .content {
        --content-padding: 1.5rem
    }
}

.content.content-thin {
    max-width: 600px
}

@media (width>=900px) {
    .content.content-thin {
        max-width: 800px
    }
}

.content.content-wide {
    max-width: 1160px
}

.overflow-hidden {
    overflow: hidden
}

.contentContainer.pad-wrap h2.hasNobreak {
    font-size: 50px;
}

#features-app header h2 span {
    font-size: 65px !important;
}

@media (width<=599px) {
    .overflow-xs {
        padding: 0 var(--content-padding);
        margin: 0 calc(var(--content-padding) * -1)
    }
}

@media (width<=899px) {
    .overflow-md {
        margin: 0 calc(var(--content-padding) * -1);
        padding: 0 1rem
    }
}


section.section-lg {
    padding: 2rem 0
}

@media (width>=600px) {
    section.section-lg {
        padding: 4rem 0
    }
}

.card {
    background: #fff;
    background: var(--bgColor-base);
    border-radius: .5rem .5rem 0 0
}

@media (width>=600px) {
    .card {
        border-radius: 1rem 1rem 0 0
    }
}

.scroll-container {
    position: relative
}

.scroll-container:before,
.scroll-container:after {
    content: "";
    background-color: #e3e6e6;
    background-color: var(--bgColor-inset);
    color: var(--fgColor-base);
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
    z-index: 1;
    border-radius: .375rem;
    justify-content: center;
    align-items: center;
    font-family: remixicon;
    font-size: 1.375rem;
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.scroll-container:before {
    content: "î©¤";
    left: .25rem
}

.scroll-container:after {
    content: "î©®";
    right: .25rem
}

.scroll-container.show-left-arrow:before,
.scroll-container.show-right-arrow:after {
    display: flex
}

.scroll-x {
    overflow-x: auto
}

.scroll-x::-webkit-scrollbar {
    display: none
}

.scroll-x.scroll-padding {
    margin: -1rem;
    padding: 1rem
}

@font-face {
    font-family: Rubik-bold-fallback;
    size-adjust: 106%;
    ascent-override: 90%;
    src: local(Arial)
}

@font-face {
    font-family: Rubik-fallback;
    size-adjust: 104.91%;
    ascent-override: 90%;
    src: local(Arial)
}

@font-face {
    font-family: Lora-fallback;
    size-adjust: 115.62%;
    ascent-override: 85%;
    src: local(Times New Roman)
}

body {
    font-family: Rubik, Rubik-bold-fallback, Arial, sans-serif;
    font-family: var(--fontFamily-base);
    color: var(--fgColor-base);
    text-shadow: 1px 1px 1px #00000001;
    line-height: 1.5;
    text-rendering: optimizelegibility !important;
    -webkit-font-smoothing: antialiased !important
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
    font-family: Rubik, Rubik-bold-fallback, Arial, sans-serif;
    font-family: var(--fontFamily-base);
    font-weight: 500;
    font-weight: var(--fontWeight-headings);
    line-height: 1.25
}

.text-hero {
    font-size: 2rem;
    font-weight: 600
}

@media (width>=900px) {
    .text-hero {
        font-size: 3rem
    }
}

h1,
.h1 {
    font-size: 1.75rem
}

@media (width>=600px) {

    h1,
    .h1 {
        font-size: 2rem
    }
}

@media (width>=900px) {

    h1,
    .h1 {
        font-size: 2.5rem
    }
}

h2,
.h2 {
    font-size: 1.5rem
}

@media (width>=900px) {

    h2,
    .h2 {
        font-size: 2rem
    }
}

h3,
.h3 {
    font-size: 1.25rem
}

@media (width>=900px) {

    h3,
    .h3 {
        font-size: 1.5rem
    }
}

h4,
.h4 {
    font-size: 1.25rem
}

h5,
.h5,
p {
    font-size: 1rem
}

p.small {
    font-size: 14px
}

p.base {
    font-size: 1rem
}

p.large {
    font-size: 18px
}

@media (width>=900px) {
    p.large-md {
        font-size: 18px
    }
}

small {
    font-size: 14px
}

b,
strong {
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold)
}

ul {
    margin: 0;
    padding-inline-start: 1.25rem
}

@media (width>=600px) {
    ul {
        padding-inline-start: 1.5rem
    }
}

ol {
    margin: 0;
    padding-inline-start: 2rem
}

a {
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold);
    color: var(--accent, var(--primary));
    text-decoration: none
}

a:hover {
    color: var(--accent-emphasis, var(--primary-emphasis));
    text-decoration: underline
}

a:focus {
    outline-color: #12a4e2;
    outline-color: var(--primary)
}

a.underlined {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline
}

hr {
    background-color: color-mix(in srgb, currentColor 15%, transparent);
    background-color: var(--dividerColor);
    height: .0625rem;
    margin: 1rem 0
}

a.active {
    color: var(--accent, var(--primary))
}

a.active:hover {
    color: var(--accent-emphasis, var(--primary-emphasis))
}

.no-decoration {
    color: inherit;
    font-weight: inherit
}

.no-decoration:hover {
    color: inherit;
    text-decoration: none
}

.text-logo {
    font-family: Aleo, Georgia, serif;
    font-weight: 400 !important
}

.text-center {
    text-align: center
}

@media (width<=599px) {
    .text-center-sm {
        text-align: center
    }
}

@media (width<=899px) {
    .text-center-md {
        text-align: center
    }
}

.text-right {
    text-align: right
}

.text-left {
    text-align: left
}

.text-break {
    overflow-wrap: break-word;
    word-wrap: break-word
}

.text-italic {
    font-style: italic
}

.text-strike {
    text-decoration: line-through
}

.text-serif {
    --fontWeight-headings: var(--fontWeight-serif-bold);
    font-family: Lora, Lora-fallback, Times New Roman, serif;
    font-family: var(--fontFamily-serif);
    -webkit-font-smoothing: auto !important
}

.text-serif b,
.text-serif strong {
    font-weight: 700;
    font-weight: var(--fontWeight-serif-bold)
}

.text-nowrap {
    white-space: nowrap
}

.article {
    line-height: 1.6
}

.article h1,
.article h2 {
    font-family: Lora, Lora-fallback, Times New Roman, serif;
    font-family: var(--fontFamily-serif);
    font-weight: 700;
    font-weight: var(--fontWeight-serif-bold);
    margin-bottom: .5rem
}

.article h1 b,
.article h1 strong,
.article h2 b,
.article h2 strong {
    font-weight: 700;
    font-weight: var(--fontWeight-serif-bold)
}

.article>h2:not(:first-child) {
    border-top: .125rem dashed color-mix(in srgb, currentColor 15%, transparent);
    border-top: .125rem dashed var(--dividerColor);
    margin-top: 2rem;
    padding-top: 2rem
}

.article>.shortcode+h2 {
    border: none;
    padding-top: 0
}

.article>h3 {
    margin-top: 1.5rem;
    margin-bottom: .5rem
}

.article>h4,
.article>h5 {
    margin-top: 1rem;
    margin-bottom: .25rem
}

.article>p+ul,
.article>p+ol {
    margin-top: -.75rem
}

.article>p,
.article>ul,
.article>ol,
.article>blockquote {
    margin-bottom: 1rem
}

.article>p,
.article>ul,
.article>ol,
.article>ol>li>p,
.article>ul>li>p,
.article>blockquote p {
    font-family: Lora, Lora-fallback, Times New Roman, serif;
    font-family: var(--fontFamily-serif);
    font-size: 18px;
    -webkit-font-smoothing: auto !important
}

.article>p b,
.article>p strong,
.article>ul b,
.article>ul strong,
.article>ol b,
.article>ol strong,
.article>ol>li>p b,
.article>ol>li>p strong,
.article>ul>li>p b,
.article>ul>li>p strong,
.article>blockquote p b,
.article>blockquote p strong {
    font-weight: 700 !important;
    font-weight: var(--fontWeight-serif-bold) !important
}

.article hr {
    background-color: color-mix(in srgb, currentColor 15%, transparent);
    background-color: var(--dividerColor);
    height: .0625rem;
    margin: 1.5rem 0
}

.article blockquote {
    background: var(--accent-muted);
    border-left: .25rem solid var(--accent);
    clear: both;
    border-radius: .25rem;
    padding: 1rem 1.5rem
}

.article>p a,
.article>ul a,
.article>ol a,
.article>blockquote a {
    word-break: break-word
}

.article>p a:not(.no-decoration):not(.btn):not(.toc-link),
.article>ul a:not(.no-decoration):not(.btn):not(.toc-link),
.article>ol a:not(.no-decoration):not(.btn):not(.toc-link),
.article>blockquote a:not(.no-decoration):not(.btn):not(.toc-link) {
    color: var(--accent-emphasis);
    border-bottom: .0625rem solid #bbc0c899;
    border-bottom: .0625rem solid var(--neutral);
    font-weight: inherit !important
}

.article>p a:not(.no-decoration):not(.btn):not(.toc-link):hover,
.article>ul a:not(.no-decoration):not(.btn):not(.toc-link):hover,
.article>ol a:not(.no-decoration):not(.btn):not(.toc-link):hover,
.article>blockquote a:not(.no-decoration):not(.btn):not(.toc-link):hover {
    color: var(--accent);
    text-decoration: none
}

.tiny-mce .size-full,
.tiny-mce .size-large {
    height: auto;
    width: 100% !important
}

.tiny-mce .alignright {
    text-align: right
}

.tiny-mce .aligncenter {
    text-align: center
}

.tiny-mce .alignleft {
    text-align: left
}

.tiny-mce figure {
    margin: 1.5rem 0;
    overflow: hidden
}

.tiny-mce figure img {
    border-radius: .375rem;
    max-width: 100%;
    height: auto
}

.tiny-mce figure.alignright,
.tiny-mce figure.alignleft {
    display: table
}

.tiny-mce figure.alignright figcaption,
.tiny-mce figure.alignleft figcaption {
    caption-side: bottom;
    margin-top: 0;
    display: table-caption
}

.tiny-mce figcaption {
    color: var(--fgColor-muted);
    margin-top: 1rem
}

.tiny-mce figcaption a {
    color: var(--fgColor-muted);
    text-decoration: underline
}

.tiny-mce>p img,
.tiny-mce blockquote p img,
.tiny-mce li img,
.tiny-mce table img,
.tiny-mce figure,
.tiny-mce>img {
    border-radius: .375rem;
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0
}

.tiny-mce>p img.alignright,
.tiny-mce blockquote p img.alignright,
.tiny-mce li img.alignright,
.tiny-mce table img.alignright,
.tiny-mce figure.alignright,
.tiny-mce>img.alignright {
    float: right;
    margin: 0 0 .5rem 1rem
}

.tiny-mce>p img.alignleft,
.tiny-mce blockquote p img.alignleft,
.tiny-mce li img.alignleft,
.tiny-mce table img.alignleft,
.tiny-mce figure.alignleft,
.tiny-mce>img.alignleft {
    float: left;
    margin: 0 1rem .5rem 0
}

.tiny-mce>p img.aligncenter,
.tiny-mce blockquote p img.aligncenter,
.tiny-mce li img.aligncenter,
.tiny-mce table img.aligncenter,
.tiny-mce figure.aligncenter,
.tiny-mce>img.aligncenter {
    margin-left: auto;
    margin-right: auto;
    display: block
}

.tiny-mce table {
    border: .125rem solid #bbc0c899;
    border: .125rem solid var(--neutral);
    border-radius: .5rem;
    width: calc(100vw - 2rem - 4px);
    margin-bottom: 1.5rem;
    font-size: 14px;
    line-height: 1.3;
    display: inline-block;
    position: relative;
    overflow-x: auto
}

@media (width>=600px) {
    .tiny-mce table {
        width: 100%;
        display: table
    }
}

.tiny-mce table thead {
    background: #e5faff;
    background: var(--primary-muted)
}

.tiny-mce table th {
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold);
    text-align: left;
    padding: .5rem
}

.tiny-mce table td {
    padding: .5rem
}

.tiny-mce table tr:nth-child(2n) {
    background: #bbc0c899;
    background: var(--neutral)
}

.banner {
    background: #fff2d2;
    background: var(--warning-muted);
    border-bottom: .0625rem solid color-mix(in srgb, currentColor 15%, transparent);
    border-bottom: .0625rem solid var(--dividerColor);
    text-align: center;
    box-sizing: border-box;
    text-wrap: balance;
    width: 100%;
    padding: .5rem;
    font-weight: 400;
    display: block
}

@media (width>=600px) {
    .banner {
        padding: 1rem
    }
}

.banner.dark {
    background-color: #26343f;
    background-color: var(--dark);
    color: var(--fgColor-light)
}

.banner #countdown-learning {
    white-space: nowrap;
    font-family: Courier New, Courier, monospace;
    font-weight: 700
}

@media (width<=599px) {

    .banner p,
    .banner a {
        font-size: 14px;
        line-height: 18px
    }
}

:root,
.dark-theme {
    --btn-neutral-border-text: var(--fgColor-base)
}

.btn-accent {
    --btn-text-color: var(--btn-accent-text, var(--accent-onBase));
    --btn-border-text-color: var(--btn-accent-border-text, var(--accent));
    --btn-bg-color: var(--accent);
    --btn-hover-color: var(--accent-emphasis)
}

.btn-primary {
    --btn-text-color: var(--btn-primary-text, var(--primary-onBase));
    --btn-border-text-color: var(--btn-primary-border-text, var(--primary));
    --btn-bg-color: var(--primary);
    --btn-hover-color: var(--primary-emphasis)
}

.btn-neutral {
    --btn-text-color: var(--btn-neutral-text, var(--neutral-onBase));
    --btn-border-text-color: var(--btn-neutral-border-text, var(--neutral));
    --btn-bg-color: var(--neutral);
    --btn-hover-color: var(--neutral-emphasis)
}

.btn-success {
    --btn-text-color: var(--btn-success-text, var(--success-onBase));
    --btn-border-text-color: var(--btn-success-border-text, var(--success));
    --btn-bg-color: var(--success);
    --btn-hover-color: var(--success-emphasis)
}

.btn-danger {
    --btn-text-color: var(--btn-danger-text, var(--danger-onBase));
    --btn-border-text-color: var(--btn-danger-border-text, var(--danger));
    --btn-bg-color: var(--danger);
    --btn-hover-color: var(--danger-emphasis)
}

.btn-warning {
    --btn-text-color: var(--btn-warning-text, var(--warning-onBase));
    --btn-border-text-color: var(--btn-warning-border-text, var(--warning));
    --btn-bg-color: var(--warning);
    --btn-hover-color: var(--warning-emphasis)
}

.btn-dark {
    --btn-text-color: var(--btn-dark-text, var(--dark-onBase));
    --btn-border-text-color: var(--btn-dark-border-text, var(--dark));
    --btn-bg-color: var(--dark);
    --btn-hover-color: var(--dark-emphasis)
}

.btn-light {
    --btn-text-color: var(--btn-light-text, var(--light-onBase));
    --btn-border-text-color: var(--btn-light-border-text, var(--light));
    --btn-bg-color: var(--light);
    --btn-hover-color: var(--light-emphasis)
}

.btn {
    background: #bbc0c899;
    background: var(--btn-bg-color, var(--neutral));
    border: .125rem solid #bbc0c899;
    border-color: var(--btn-bg-color, var(--neutral));
    box-sizing: border-box;
    color: var(--btn-text-color, var(--fgColor-base));
    cursor: pointer;
    vertical-align: middle;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold);
    white-space: nowrap;
    text-align: center;
    border-radius: .375rem;
    justify-content: center;
    align-items: center;
    gap: .375rem;
    height: 2.5rem;
    padding: 0 .75rem;
    line-height: 1rem;
    transition: background-color .2s, box-shadow .2s, border-color .2s;
    display: inline-flex
}

.btn:hover {
    color: var(--btn-text-color, var(--fgColor-base));
    background: #8f99a480;
    background: var(--btn-hover-color, var(--neutral-emphasis));
    border-color: #8f99a480;
    border-color: var(--btn-hover-color, var(--neutral-emphasis));
    text-decoration: none
}

.btn:disabled {
    opacity: .4;
    pointer-events: none
}

.btn:active {
    box-shadow: inset 0 2px 8px #11111a26;
    box-shadow: inset 0 2px 8px 0 var(--shadowColor)
}

.btn:focus {
    border-color: var(--btn-hover-color);
    outline: .125rem solid #12a4e2;
    outline: .125rem solid var(--primary)
}

.btn-border {
    color: var(--btn-bg-color);
    background-color: #0000
}

.btn-border:hover {
    color: var(--btn-hover-color);
    border-color: var(--btn-hover-color);
    background-color: #0000
}

.btn-xs {
    height: 1.5rem;
    padding: 0 .375rem;
    font-size: 12px
}

.btn-sm {
    height: 2.25rem;
    padding: 0 .75rem;
    font-size: 14px
}

.btn-lg {
    height: 3rem;
    padding: 0 .9rem;
    font-size: 18px;
    line-height: 18px
}

@media (width<=599px) {
    .btn-sm-xs {
        height: 2.25rem;
        padding: 0 .5rem;
        font-size: 14px
    }

    .btn-full-sm {
        width: 100%
    }
}

.btn-full {
    width: 100%
}

.btn-center {
    margin: 0 auto
}

.btn-round {
    border-radius: 4rem
}

.btn-circle {
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 0
}

.btn-transparent {
    --btn-bg-color: transparent;
    --btn-hover-color: transparent
}

.btn-inherit {
    --btn-text-color: currentColor;
    --btn-bg-color: currentColor;
    --btn-hover-color: currentColor
}

.btn-google {
    --btn-bg-color: var(--light);
    --btn-hover-color: var(--light);
    --btn-text-color: var(--dark);
    outline: .0625rem solid #8f99a480;
    outline: .0625rem solid var(--neutral-emphasis)
}

.btn-facebook {
    --btn-text-color: var(--light);
    --btn-bg-color: #3b5998;
    --btn-hover-color: #293e6a
}

.dropdown {
    display: inline-block;
    position: relative
}

.dropdown:hover .dropdown-container,
.dropdown:focus-within .dropdown-container {
    visibility: visible;
    opacity: 1;
    transition: opacity .125s ease-in, visibility ease-in, transform .125s ease-in;
    transform: translateY(0)
}

.dropdown .dropdown-container {
    opacity: 0;
    visibility: hidden;
    z-index: 14;
    transform-origin: top;
    color: var(--fgColor-base);
    transition: opacity .125s ease-in, visibility 0s ease-in .125s, transform .125s ease-in;
    position: absolute;
    transform: translateY(.25rem)
}

.dropdown .dropdown-container.fixed-width {
    width: 22rem;
    max-width: 80vw
}

.dropdown .dropdown-container.align-right {
    right: 0
}

.dropdown .dropdown-container .dropdown-panel {
    background: #fff;
    background: var(--bgColor-base);
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    outline: .0625rem solid #bbc0c81a;
    outline: .0625rem solid var(--outlineColor);
    border-radius: .5rem;
    padding: 1rem;
    position: relative
}

.dropdown .dropdown-container .dropdown-panel.dropdown-menu {
    padding: .25rem
}

.nav-footer {
    background: #fff;
    background: var(--bgColor-base);
    padding: 1.5rem 0 5rem
}

.nav-footer .nav-logo {
    font-size: 1.5rem
}

@media (width>=900px) {
    .nav-footer .nav-logo {
        font-size: 2rem
    }
}

.nav-footer .links {
    grid-gap: .25rem;
    gap: .25rem;
    display: grid
}

.nav-footer .links a {
    color: var(--fgColor-base);
    font-weight: 400
}

input:not([type=checkbox], [type=radio], [type=submit]),
textarea,
select {
    background-color: #fff;
    background-color: var(--bgColor-base);
    border: .125rem solid #d0d3d3;
    border: .125rem solid var(--form-borderColor);
    box-sizing: border-box;
    appearance: none;
    color: var(--fgColor-base);
    width: 100%;
    height: 2.5rem;
    border-radius: .375rem;
    outline: none;
    padding: 0 .75rem;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    transition: border-color .3s, outline .3s;
    margin-top: 15px;
}

input:not([type=checkbox], [type=radio], [type=submit])::-moz-placeholder {
    color: #64727f80
}

textarea::-moz-placeholder {
    color: #64727f80
}

select::-moz-placeholder {
    color: #64727f80
}

input:not([type=checkbox], [type=radio], [type=submit])::placeholder,
textarea::placeholder,
select::placeholder {
    color: #64727f80
}

@supports (color:color-mix(in lch, red, blue)) {
    input:not([type=checkbox], [type=radio], [type=submit])::-moz-placeholder {
        color: color-mix(in srgb, var(--fgColor-muted) 50%, transparent)
    }

    textarea::-moz-placeholder {
        color: color-mix(in srgb, var(--fgColor-muted) 50%, transparent)
    }

    select::-moz-placeholder {
        color: color-mix(in srgb, var(--fgColor-muted) 50%, transparent)
    }

    input:not([type=checkbox], [type=radio], [type=submit])::placeholder,
    textarea::placeholder,
    select::placeholder {
        color: color-mix(in srgb, var(--fgColor-muted) 50%, transparent)
    }
}

input:not([type=checkbox], [type=radio], [type=submit]):focus,
textarea:focus,
select:focus {
    outline: .125rem solid #edac01;
    outline: .125rem solid var(--warning);
    box-shadow: 0 0 2px 4px #edac0133;
    box-shadow: 0 0 2px 4px var(--form-focusColor)
}

input:not([type=checkbox], [type=radio], [type=submit]):disabled,
textarea:disabled,
select:disabled {
    cursor: not-allowed;
    opacity: .5;
    background-color: #f1f3f3;
    background-color: var(--bgColor-muted);
    border-style: dotted
}

input:not([type=checkbox], [type=radio], [type=submit]).input-sm,
textarea.input-sm,
select.input-sm {
    height: 2.25rem;
    padding: 0 .5rem;
    font-size: 1rem
}

input:not([type=checkbox], [type=radio], [type=submit]).input-lg,
textarea.input-lg,
select.input-lg {
    height: 3.75rem;
    font-size: 1.5rem;
    font-weight: 500 !important;
    font-weight: var(--fontWeight-base-bold) !important
}

@media (width<=599px) {

    input:not([type=checkbox], [type=radio], [type=submit]).input-sm-xs,
    textarea.input-sm-xs,
    select.input-sm-xs {
        height: 2.25rem;
        padding: 0 .625rem;
        font-size: 14px;
        line-height: 1rem
    }
}

textarea {
    height: auto;
    padding: .75rem
}

select {
    background: #fff 100% no-repeat;
    background: var(--bgColor-base) no-repeat right center;
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    color-scheme: light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-position: calc(100% - .5rem);
    background-size: 1rem;
    padding-right: 2rem
}

select option,
select optgroup {
    color: canvastext;
    background-color: canvas
}

.dark-theme select {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")
}

label {
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold);
    margin-bottom: .5rem;
    font-size: 18px;
    display: block
}

label.label-base {
    font-size: 1rem
}

label.label-sm {
    margin-bottom: .25rem;
    font-size: 14px
}

.input-icon {
    position: relative
}

.input-icon button {
    padding: 0;
    position: absolute;
    top: 50%;
    left: .5rem;
    transform: translateY(-50%)
}

.input-icon input {
    padding-left: 2.5rem
}

form {
    position: relative
}

.form-group input:not(:last-child),
.form-group textarea:not(:last-child),
.form-group select:not(:last-child),
.form-group .field_with_errors:not(:last-child) {
    margin-bottom: .5rem
}

@media (width>=900px) {
    .form-50 {
        max-width: 50%
    }

    .form-75 {
        max-width: 75%
    }

    .form-full {
        max-width: 100%
    }
}

.form-center {
    justify-content: center;
    margin: 0 auto
}

.field_with_errors input,
.field_with_errors textarea {
    border-color: #f25153;
    border-color: var(--danger);
    box-shadow: 0px 0px 0px 4px rgba(#f25153, .2);
    box-shadow: 0px 0px 0px 4px rgba(var(--danger), .2)
}

.email-suggestion {
    font-size: 14px;
    position: absolute;
    bottom: -2rem;
    left: 0;
    right: 0
}

.grecaptcha-badge {
    opacity: 0;
    border-radius: 4px !important;
    transition: all .4s !important;
    box-shadow: 0 2px 6px #0003 !important
}

.checkbox label {
    font-weight: var(--fontWeight-base);
    font-size: 1rem
}

header .header-text {
    padding: 2rem 0
}

@media (width<=599px) {
    header .header-text.header-text-sm-xs {
        padding: .25rem 0 1rem
    }
}

@media (width>=900px) {
    header .header-text.header-text-md-md {
        padding: 3rem 0 4.5rem
    }

    .header-text.header-text-lg-md {
        padding: 5rem 0 7rem
    }
}

.mobile-app-bar {
    border-top: 1px solid #fff;
    border-top: 1px solid var(--bgColor-base);
    z-index: 12;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: env(safe-area-inset-bottom);
    -webkit-backdrop-filter: blur(.5rem);
    box-shadow: 0 .25rem 1rem #11111a26;
    box-shadow: 0 .25rem 1rem var(--shadowColor);
    background-color: #ffffffe6;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    transition: bottom .4s;
    position: fixed;
    bottom: -200px
}

@supports (color:color-mix(in lch, red, blue)) {
    .mobile-app-bar {
        background-color: color-mix(in srgb, var(--bgColor-base) 90%, transparent)
    }
}

.mobile-app-bar.active {
    bottom: 0
}

@media (width>=900px) {
    .mobile-app-bar {
        display: none
    }
}

.modal {
    opacity: 0;
    z-index: 9999;
    justify-content: center;
    align-items: end;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto
}

@media (width>=600px) {
    .modal {
        align-items: center
    }
}

@keyframes fade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.modal.pop-in {
    animation: .2s fade
}

.modal.visible {
    opacity: 1;
    display: flex
}

.modal.visible.pop-in .modal-content {
    animation: .5s popInSm
}

@media (width>=600px) {
    .modal.visible.pop-in .modal-content {
        animation: .2s popInLg
    }
}

.modal.modal-lg .modal-content {
    max-width: 800px
}

.modal .modal-content {
    width: 100%;
    max-width: 560px;
    max-height: 100vh;
    max-height: -webkit-fill-available;
    overflow-y: auto
}

@keyframes popInSm {
    0% {
        transform: translateY(40px)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes popInLg {
    0% {
        transform: scale(.95)
    }

    to {
        transform: scale(1)
    }
}

@media (width>=600px) {
    .modal .modal-content {
        min-width: 400px
    }
}

.modal .modal-overlay {
    z-index: -1;
    background: #0b0f13cc;
    background: var(--bgColor-overlay);
    cursor: pointer;
    -webkit-backdrop-filter: blur(.25rem);
    backdrop-filter: blur(.25rem);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0
}

.modal .modal-close {
    cursor: pointer;
    z-index: 1;
    position: absolute;
    top: 16px;
    right: 16px
}

.modal .modal-close svg {
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
    border-radius: 50%
}

.modal .modal-panel {
    background: #fff;
    background: var(--bgColor-base);
    width: 100%;
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    padding-bottom: env(safe-area-inset-bottom);
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    position: relative
}

@media (width>=600px) {
    .modal .modal-panel {
        border-radius: 1rem
    }
}

.modal .modal-panel .modal-image {
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: middle;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    width: 100%;
    height: auto;
    max-height: 40vh;
    overflow: hidden
}

.modal .modal-panel .modal-body {
    grid-gap: .5rem;
    gap: .5rem;
    padding: 1rem;
    display: grid
}

@media (width>=600px) {
    .modal .modal-panel .modal-body {
        padding: 1.5rem
    }
}

.nav-top {
    padding: .5rem 0;
    transition: top .5s ease-out;
    top: -100px
}

@media (width>=900px) {
    .nav-top {
        padding: 0
    }
}

.nav-top .nav-trigger,
.nav-top .nav-close {
    cursor: pointer
}

.nav-top.nav-fixed {
    background-color: #fff;
    background-color: var(--bgColor-base);
    -webkit-backdrop-filter: blur(1rem);
    z-index: 10;
    border-bottom: .0625rem solid color-mix(in srgb, currentColor 15%, transparent);
    border-bottom: .0625rem solid var(--dividerColor);
    color: var(--fgColor-base);
    width: 100%;
    background-color: #fffc;
    top: 0;
    left: 0;
    right: 0;
    position: fixed !important
}

@supports (color:color-mix(in lch, red, blue)) {
    .nav-top.nav-fixed {
        background-color: color-mix(in srgb, var(--bgColor-base) 80%, transparent)
    }
}

.nav-top .nav-links {
    justify-content: end
}

.nav-top .nav-links .nav-link>a {
    font-weight: 500;
    font-weight: var(--fontWeight-base-bold)
}

.nav-top .nav-grid {
    grid-template-columns: auto max-content;
    align-items: center;
    display: grid
}

@media (width>=900px) {
    .nav-top .nav-grid {
        grid-template-columns: max-content auto max-content;
        gap: 1.5rem
    }
}

.nav-top .nav-logo {
    gap: .75rem;
    font-size: 1.5rem;
    display: flex
}

@media (width>=900px) {
    .nav-top .nav-logo {
        font-size: 2rem
    }
}

.nav-links {
    grid-gap: 1rem;
    grid-auto-columns: min-content;
    grid-auto-flow: column;
    gap: 1rem;
    display: grid
}

@media (width>=600px) {
    .nav-links {
        gap: 1.5rem
    }
}

.nav-links .nav-link:hover>a:not(.active) {
    border-color: var(--accent-translucent)
}

.nav-links .nav-link>a {
    color: inherit;
    font-weight: inherit;
    white-space: nowrap;
    border-bottom: .25rem solid #0000;
    padding: 1.25rem 0 1rem;
    text-decoration: none;
    display: block
}

@media (width>=600px) {
    .nav-links .nav-link>a {
        padding: 1.5rem 0 1.25rem
    }
}

.nav-links .nav-link>a.active {
    border-color: var(--accent)
}

.nav-links .nav-link>a:focus {
    border-color: #fff2d2;
    border-color: var(--warning-muted);
    outline: none
}

.nav-links .nav-link>a:hover {
    background: linear-gradient(to top, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 20%)
}

.nav-cell-title {
    border-bottom: .0625rem solid color-mix(in srgb, currentColor 15%, transparent);
    border-bottom: .0625rem solid var(--dividerColor);
    margin: 0 .625rem .25rem;
    padding: .625rem 0
}

.nav-cell {
    cursor: pointer;
    box-sizing: border-box;
    color: var(--fgColor-base);
    width: 100%;
    border-radius: .25rem;
    padding: .375rem .625rem;
    font-weight: 400;
    text-decoration: none;
    transition: background-color .2s;
    display: block;
    position: relative
}

.nav-cell a {
    color: inherit;
    font-weight: 400;
    text-decoration: none
}

.nav-cell:hover,
.nav-cell:focus-within {
    color: inherit;
    background: #fff2d2;
    background: var(--warning-muted);
    text-decoration: none
}

.nav-cell.active {
    background: var(--accent-muted)
}

.nav-cell.external:after {
    color: var(--fgColor-muted);
    content: "î²¯";
    font-family: remixicon, sans-serif;
    font-size: 1rem;
    position: absolute;
    top: .625rem;
    right: .625rem
}

.nav-tray:hover .nav-tray-container,
.nav-tray:focus-within .nav-tray-container {
    visibility: visible;
    opacity: 1;
    transition: opacity .125s ease-in, visibility ease-in, transform .125s ease-in;
    transform: translateY(0)
}

.nav-tray .nav-tray-container {
    opacity: 0;
    visibility: hidden;
    z-index: 14;
    color: var(--fgColor-base);
    transition: opacity .125s ease-in, visibility 0s ease-in .125s, transform .125s ease-in;
    position: absolute;
    left: 0;
    right: 0;
    transform: translateY(.25rem)
}

.nav-tray .nav-tray-divider {
    background-color: color-mix(in srgb, currentColor 15%, transparent);
    background-color: var(--dividerColor);
    flex: none;
    align-self: stretch;
    width: .0625rem
}

.nav-tray .nav-tray-panel {
    background: #fff;
    background: var(--bgColor-base);
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    outline: .0625rem solid #bbc0c81a;
    outline: .0625rem solid var(--outlineColor);
    border-radius: .5rem;
    gap: .25rem;
    margin: 0 .5rem;
    padding: .25rem;
    display: flex;
    position: relative
}

.nav-tray .nav-tray-panel>:not(.nav-tray-divider) {
    flex: 1;
    min-width: 0
}

.nav-mobile {
    visibility: hidden;
    opacity: 0;
    background-color: #0b0f13cc;
    background-color: var(--bgColor-overlay);
    z-index: 17;
    color: var(--fgColor-base);
    width: 100vw;
    height: 100vh;
    transition: opacity .25s ease-in, visibility 0s ease-in .25s;
    position: fixed;
    top: 0;
    left: 0
}

.nav-mobile .nav-link {
    cursor: pointer
}

.nav-mobile .nav-link .nav-link-text {
    border-radius: .25rem;
    padding: .5rem .625rem;
    position: relative
}

.nav-mobile .nav-link .nav-link-text:hover {
    background: linear-gradient(90deg, #0000 0%, #fff2d2 100%);
    background: linear-gradient(to right, transparent 0%, var(--warning-muted) 100%)
}

.nav-mobile .nav-link .nav-link-text:after {
    content: "î©Ž";
    font-family: remixicon, sans-serif;
    font-size: 1.25rem;
    position: absolute;
    top: 50%;
    right: .5rem;
    transform: translateY(-50%)rotate(0)
}

.nav-mobile .nav-link.active .nav-link-inner {
    display: block
}

.nav-mobile .nav-link.active .nav-link-text:after {
    transform: translateY(-50%)rotate(180deg)
}

.nav-mobile .nav-link-inner {
    border-left: .125rem solid color-mix(in srgb, currentColor 15%, transparent);
    border-left: .125rem solid var(--dividerColor);
    margin-bottom: .5rem;
    margin-left: .625rem;
    padding-left: .25rem;
    display: none
}

.nav-mobile .nav-cell {
    font-size: 1rem
}

.nav-mobile.active {
    opacity: 1;
    visibility: visible;
    transition: opacity .25s ease-in, visibility ease-in
}

.nav-mobile.active .panel {
    bottom: 0
}

.nav-mobile .panel {
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    border-radius: 1rem 1rem 0 0;
    transition: bottom .5s;
    position: absolute;
    bottom: -2rem;
    transform: translateZ(0)
}

.nav-mobile .panel-body {
    max-height: 75vh;
    overflow: scroll;
    padding: .5rem .5rem max(env(safe-area-inset-bottom), 3rem) .5rem !important
}

.panel {
    background-color: #fff;
    background-color: var(--bgColor-base);
    border-radius: .5rem;
    width: 100%;
    position: relative
}

.panel>.panel-body {
    box-sizing: border-box;
    padding: 1rem
}

@media (width>=900px) {
    .panel>.panel-body {
        padding: 1.5rem
    }
}

.panel>.panel-header {
    border-top-left-radius: .45rem;
    border-top-right-radius: .45rem;
    padding: 1rem
}

@media (width>=900px) {
    .panel>.panel-header {
        padding: 1rem 1.5rem
    }
}

.panel>.panel-header .nav-links {
    margin: -1rem;
    padding: 0 1rem
}

@media (width>=900px) {
    .panel>.panel-header .nav-links {
        margin: -1rem -1.5rem;
        padding: 0 1.5rem
    }
}

.panel .panel-header-image {
    background: #f1f3f3;
    background: var(--bgColor-muted);
    aspect-ratio: 16/9;
    border-top-left-radius: .45rem;
    border-top-right-radius: .45rem;
    width: 100%;
    position: relative;
    overflow: hidden
}

.panel .panel-header-image img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9;
    width: 100%;
    height: auto
}

.panel>.panel-footer {
    border-bottom-right-radius: .45rem;
    border-bottom-left-radius: .45rem;
    padding: 1rem
}

@media (width>=900px) {
    .panel>.panel-footer {
        padding: 1rem 1.5rem
    }
}

.panel.panel-full-height {
    flex-direction: column;
    height: 100%;
    display: flex
}

.panel.panel-full-height>.panel-body {
    flex-grow: 1
}

.panel.panel-thin>.panel-header,
.panel.panel-thin>.panel-body,
.panel.panel-thin>.panel-footer {
    padding: 1rem
}

.shortcode {
    margin: 1.5rem 0
}

.content-upgrade {
    background: #e5faff;
    background: var(--primary-muted);
    border-top: .125rem solid #12a4e2;
    border-top: .125rem solid var(--primary);
    border-bottom: .125rem solid #12a4e2;
    border-bottom: .125rem solid var(--primary);
    margin-left: -1rem;
    margin-right: -1rem;
    position: relative;
    overflow: hidden
}

@media (width>=600px) {
    .content-upgrade {
        border: .125rem solid #12a4e2;
        border: .125rem solid var(--primary);
        box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
        box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
        border-radius: .5rem;
        margin: 1.5rem 0;
        display: flex
    }

    .content-upgrade .content-upgrade-image {
        flex: none;
        width: 35%;
        overflow: hidden
    }
}

.content-upgrade .content-upgrade-image img {
    vertical-align: middle;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    min-height: 100%
}

.content-upgrade .content-upgrade-body {
    box-sizing: border-box;
    width: 100%;
    padding: 1rem
}

@media (width>=600px) {
    .content-upgrade .content-upgrade-body {
        flex: 0 auto;
        height: 100%;
        padding: 1.5rem
    }
}

.tweet {
    margin: 1rem 0
}

.tweet:hover {
    border-color: #8f99a480;
    border-color: var(--neutral-emphasis)
}

.embed-wrapper {
    border-radius: .5rem;
    width: 100%;
    overflow: hidden
}

.embed-wrapper img,
.embed-wrapper iframe {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: middle;
    width: 100%;
    height: auto;
    display: inline-block
}

.embed-wrapper .embed {
    cursor: pointer;
    background-color: #000;
    width: 100%;
    position: relative
}

.embed-wrapper .embed .play-button {
    background-color: #12a4e2;
    background-color: var(--primary);
    width: 4rem;
    height: 4rem;
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
    z-index: 1;
    border-radius: 2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.embed-wrapper .embed .play-button:before {
    content: "";
    border: 1rem solid #0000;
    border-left: 1.5rem solid #fff;
    border-right-width: 0;
    border-color: transparent transparent transparent var(--primary-onBase);
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%)
}

.faq-shortcode {
    cursor: pointer;
    margin-top: 0;
    margin-bottom: 1rem
}

.faq-shortcode+.faq-shortcode {
    margin-top: -.5rem
}

.faq-shortcode.swapped .question:after {
    transform: rotate(180deg)
}

.faq-shortcode .question {
    padding-right: 1rem;
    position: relative
}

.faq-shortcode .question:after {
    content: "â·";
    position: absolute;
    top: 0;
    right: 0
}

.submenu {
    background: var(--accent-translucent);
    -webkit-backdrop-filter: blur(.5rem);
    border-radius: .5rem;
    align-items: center;
    min-height: 4rem;
    margin: 0 -1rem;
    padding: 0 1rem;
    display: grid
}

@media (width>=600px) {
    .submenu {
        min-height: 4.5rem;
        margin: 0 -1.5rem;
        padding: 0 1.5rem
    }
}

@media (width<=599px) {
    .tab-container .tab-nav {
        width: 100%
    }

    .tab-container .tab-nav:not(:last-child) {
        margin-bottom: 1rem
    }
}

.tab-container .tab-nav.active {
    background-color: var(--accent);
    border-color: var(--accent);
    color: var(--fgColor-light);
    pointer-events: none
}

.tab-container .tab {
    display: none
}

.tab-container .tab.active {
    display: block
}

.tou {
    counter-reset: h2
}

.tou h2 {
    counter-reset: h3
}

.tou h2:before {
    counter-increment: h2;
    content: counter(h2) ". "
}

.tou h2 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou h2 {
        padding-left: 3rem
    }
}

.tou h2:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou h2:before {
        left: 0
    }
}

.tou h3 {
    counter-reset: h4
}

.tou h3:before {
    counter-increment: h3;
    content: counter(h2) "." counter(h3) ". "
}

.tou h3 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou h3 {
        padding-left: 3rem
    }
}

.tou h3:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou h3:before {
        left: 0
    }
}

.tou h4 {
    counter-reset: h5
}

.tou h4:before {
    counter-increment: h4;
    content: counter(h2) "." counter(h3) "." counter(h4) ". "
}

.tou h4 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou h4 {
        padding-left: 6.75rem
    }
}

.tou h4:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou h4:before {
        left: 3rem
    }
}

.tou h5 {
    counter-reset: h6
}

.tou h5:before {
    counter-increment: h5;
    content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "
}

.tou h5 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou h5 {
        padding-left: 11.25rem
    }
}

.tou h5:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou h5:before {
        left: 6.75rem
    }
}

.tou h6:before {
    counter-increment: h6;
    content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". "
}

.tou h6 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou h6 {
        padding-left: 16rem
    }
}

.tou h6:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou h6:before {
        left: 11.25rem
    }
}

.tou .level-1 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou .level-1 {
        padding-left: 3rem
    }
}

.tou .level-1:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou .level-1:before {
        left: 0
    }
}

.tou .level-2 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou .level-2 {
        padding-left: 6.75rem
    }
}

.tou .level-2:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou .level-2:before {
        left: 3rem
    }
}

.tou .level-3 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou .level-3 {
        padding-left: 11.25rem
    }
}

.tou .level-3:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou .level-3:before {
        left: 6.75rem
    }
}

.tou .level-4 {
    padding-left: 4rem;
    position: relative
}

@media (width>=600px) {
    .tou .level-4 {
        padding-left: 16rem
    }
}

.tou .level-4:before {
    color: var(--fgColor-muted);
    position: absolute;
    left: 1rem
}

@media (width>=600px) {
    .tou .level-4:before {
        left: 11.25rem
    }
}

.tou h3,
.tou h4,
.tou h5,
.tou h6,
.tou p {
    margin-bottom: .5rem;
    font-family: Lora, Lora-fallback, Times New Roman, serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: auto !important
}

@media (width>=600px) {

    .tou h3,
    .tou h4,
    .tou h5,
    .tou h6,
    .tou p {
        font-size: 18px
    }
}

.tou h2 {
    margin-top: 2rem;
    margin-bottom: 1rem
}

.tou a {
    color: inherit;
    text-decoration: underline
}

.tou b {
    font-weight: 700
}

.tou table {
    margin: 1rem 0
}

.tou table tr {
    vertical-align: top;
    border-bottom: 1px solid #ddd
}

.tou table td {
    border: .0625rem solid #3a4d5a;
    border: .0625rem solid var(--dark-muted);
    padding: .5rem;
    display: block
}

@media (width>=600px) {
    .tou table td {
        display: table-cell
    }
}

.tou table td p {
    padding: 0
}

.tou table td:first-child {
    width: 100%
}

.tou table td:first-child p {
    font-weight: 700
}

@media (width>=600px) {
    .tou table td:first-child {
        width: 220px
    }
}

.google-one-tap {
    z-index: 15;
    position: fixed;
    bottom: 16px;
    left: 16px
}

.crisp-client {
    --crisp-customization-container-index: 16 !important
}

.plyr {
    --plyr-color-main: var(--accent)
}

.plyr:hover .plyr__control--overlaid {
    outline: 10px solid var(--accent-translucent);
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor)
}

.plyr .plyr__control--overlaid {
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor)
}

.showcase-carousel-container {
    --showcase-width: 280px;
    --showcase-gap: .75rem;
    --showcase-portfolio-gap: .5rem;
    position: relative;
    overflow: hidden
}

.showcase-carousel-container.show-portfolio .showcase-content-track {
    padding: 0 calc(50% - var(--showcase-width) / 2)
}

.showcase-nav-btn {
    z-index: 20;
    background: var(--accent-backdrop);
    cursor: pointer;
    color: var(--light);
    width: 2.5rem;
    height: 2.5rem;
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: all .2s;
    display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.showcase-nav-btn:hover {
    background: var(--accent);
    color: var(--light);
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    transform: translateY(-50%)scale(1.1)
}

.showcase-nav-btn:disabled {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%)
}

.showcase-nav-btn:disabled:hover {
    background: var(--accent-backdrop)
}

.showcase-nav-btn.showcase-nav-prev {
    border-radius: 0 50% 50% 0;
    left: 0
}

.showcase-nav-btn.showcase-nav-next {
    border-radius: 50% 0 0 50%;
    right: 0
}

.showcase-nav-btn svg {
    flex-shrink: 0
}

.showcase-scroll-container {
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    perspective: 1000px;
    perspective-origin: bottom;
    height: 100%;
    transform-style: preserve-3d;
    padding: 1.5rem 0;
    position: relative;
    overflow: auto hidden;
    container: showcase-scroll/inline-size
}

.showcase-scroll-container::-webkit-scrollbar {
    display: none
}

.showcase-content-track {
    width: max-content;
    height: 100%;
    transform-style: preserve-3d;
    padding: 0 var(--showcase-width) 0 .5rem;
    align-items: stretch;
    display: flex
}

.showcase-slide {
    width: var(--showcase-width);
    scroll-snap-align: center;
    transform-style: preserve-3d;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    display: flex
}

.showcase-slide.active .showcase-professional-card {
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor);
    border-color: var(--accent);
    z-index: 10;
    transform: scale(1.05)
}

.showcase-professional {
    padding: 0 var(--showcase-gap);
    box-sizing: content-box;
    z-index: 3;
    flex: 1;
    justify-content: center;
    align-items: stretch;
    display: flex;
    position: relative;
    transform: translateZ(0)
}

.showcase-professional-card {
    background: #fff;
    background: var(--light);
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
    text-align: center;
    border: .125rem solid #0000;
    border-radius: .75rem;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    height: 100%;
    padding: 2rem 1rem 1rem;
    transition: all .3s;
    display: flex;
    position: relative
}

.showcase-professional-card .hire-availability {
    background: var(--accent-muted);
    color: var(--accent-onMuted);
    text-align: center;
    border-radius: 1rem;
    padding: .25rem .5rem;
    font-size: .875rem;
    position: absolute;
    top: .5rem;
    left: .5rem
}

.showcase-professional-card .summary {
    -webkit-line-clamp: 4;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    flex-grow: 1;
    max-height: 5.6em;
    margin-bottom: .5rem;
    line-height: 1.4;
    display: -webkit-box;
    overflow: hidden
}

.showcase-portfolio-set {
    padding: 0 calc(var(--showcase-portfolio-gap) / 2);
    grid-gap: var(--showcase-portfolio-gap);
    gap: var(--showcase-portfolio-gap);
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
    margin-top: 5rem;
    margin-bottom: -.5rem;
    display: grid;
    transform: translateZ(400px)
}

.showcase-portfolio-item {
    aspect-ratio: 1;
    background: var(--accent-translucent);
    box-shadow: 0 .05rem .1rem #11111a1a, 0 .125rem .375rem #11111a26;
    box-shadow: 0 .05rem .1rem var(--shadowColor-muted), 0 .125rem .375rem var(--shadowColor);
    border-radius: 6px;
    transition: box-shadow .3s;
    position: relative;
    overflow: hidden
}

.showcase-portfolio-item:hover {
    box-shadow: 0 1rem 1.5rem #11111a26, 0 .125rem .35rem #11111a26;
    box-shadow: 0 1rem 1.5rem 0 var(--shadowColor), 0 .125rem .35rem 0 var(--shadowColor)
}

.showcase-portfolio-image {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .3s
}

.showcase-portfolio-placeholder {
    background: var(--accent-translucent);
    opacity: .6;
    justify-content: center;
    align-items: center;
    display: flex
}

.showcase-portfolio-item:nth-child(6n+1) {
    transform: rotate(-1.8deg)
}

.showcase-portfolio-item:nth-child(6n+2) {
    transform: rotate(-1.2deg)
}

.showcase-portfolio-item:nth-child(6n+3) {
    transform: rotate(.3deg)
}

.showcase-portfolio-item:nth-child(6n+4) {
    transform: rotate(1.7deg)
}

.showcase-portfolio-item:nth-child(6n+5) {
    transform: rotate(-.9deg)
}

.showcase-portfolio-item:nth-child(6n+6) {
    transform: rotate(1.4deg)
}

.user-registration-form {
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    display: grid
}

.user-registration-form.urf-show-email {
    grid-template-areas: "email submit" "social social"
}

.user-registration-form.urf-show-email.stacked {
    grid-template-columns: auto;
    grid-template-areas: "email" "submit" "social"
}

.user-registration-form.urf-show-email .urf-social {
    grid-area: social
}

.user-registration-form.urf-show-email .urf-email {
    grid-area: email
}

.user-registration-form.urf-show-email .urf-submit {
    grid-area: submit
}

.add-signup-marketplace {
    grid-gap: 1rem;
    grid-template-areas: "illustration text" "cta cta";
    gap: 1rem;
    display: grid
}

@media (width>=600px) {
    .add-signup-marketplace {
        -moz-column-gap: 1.5rem;
        grid-template-areas: "illustration text" "illustration cta";
        gap: 1rem 1.5rem
    }
}

.add-signup-marketplace .add-signup-marketplace-text {
    grid-area: text
}

.add-signup-marketplace .add-signup-marketplace-illustration {
    background: #eff6d6 url(https://assets-cdn.reedsy.com/vite/assets/high-five-D9NLuRE5.webp) 50% no-repeat;
    background: url(https://assets-cdn.reedsy.com/vite/assets/high-five-D9NLuRE5.webp) var(--success-muted) no-repeat center center;
    background-size: cover;
    border-radius: .5rem;
    grid-area: illustration;
    place-items: center;
    width: 6.5em;
    height: 100%;
    min-height: 8rem;
    display: grid
}

.add-signup-marketplace .add-signup-marketplace-cta {
    grid-area: cta
}

.marketplace-explainer-video {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    overflow: hidden
}

.marketplace-explainer-video video {
    vertical-align: middle;
    background-color: #26343f;
    background-color: var(--dark);
    width: 100%;
    height: auto
}

.marketplace-explainer-video .plyr__control {
    height: auto;
    height: initial
}

.accent-turquoise {
    --accent: #00b67a;
    --accent-emphasis: #008358;
    --accent-muted: #e0f9f1;
    --accent-backdrop: #003326;
    --accent-onBase: var(--fgColor-light);
    --accent-onEmphasis: var(--fgColor-light);
    --accent-onMuted: var(--fgColor-base)
}

    {
    position: relative
}

.text-hero {
    font-weight: 700;
    font-weight: var(--fontWeight-serif-bold);
    font-size: 7vw
}

@media (width>=600px) {
    .text-hero {
        font-size: 2.5rem
    }
}

@media (width>=900px) {
    .text-hero {
        font-size: 4rem;
    }
}

.text-subheading {
    text-wrap: balance;
    font-size: 4vw
}

@media (width>=600px) {
    .text-subheading {
        font-size: 1.25rem
    }
}

.header-flare {
    background: linear-gradient(to bottom, var(--accent-translucent), transparent);
    z-index: 0;
    width: 100%;
    height: 400px;
    clip-path: path("M 0 400 L 1200 400 L 645 30 C 618 12 573 18 555 30 Z");
    position: absolute;
    top: 140px;
    left: 140px
}

.header-flare-img {
    -o-object-fit: contain;
    object-fit: contain;
    z-index: 0;
    width: 500px;
    height: 500px;
    position: absolute;
    top: 0;
    right: -40px
}

.z-index-1 {
    z-index: 1
}

.index .services-grid {
    grid-gap: .5rem;
    grid-auto-columns: minmax(9rem, 1fr);
    grid-auto-flow: column;
    gap: .5rem;
    display: grid
}

.index .showcase-grid {
    grid-gap: 1rem;
    grid-auto-columns: minmax(18rem, 1fr);
    grid-auto-flow: column;
    gap: 1rem;
    padding: 1rem;
    display: grid
}

.index .reviews-container {
    position: relative
}

.index .reviews-container .reviews-container-inner {
    min-height: 30rem;
    max-height: 60vh;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(#000 0% 60%, #0000);
    mask-image: linear-gradient(#000 0% 60%, #0000)
}

.index .reviews-container .reviews-container-inner.active {
    max-height: 5000px;
    -webkit-mask-image: linear-gradient(#000 0% 100%, #0000);
    mask-image: linear-gradient(#000 0% 100%, #0000)
}

.index .reviews-container .btn-expand {
    z-index: 1;
    transition: transform .3s ease-in-out, padding .3s ease-in-out;
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translate(-50%)
}

.index .reviews-container .btn-expand:hover {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    transform: translate(-50%, -5px)
}

.index .reviews-grid {
    -moz-column-count: 1;
    column-count: 1;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    padding: 1.5rem 0;
    display: block
}

@media (width>=600px) {
    .index .reviews-grid {
        -moz-column-count: 2;
        column-count: 2
    }
}

@media (width>=900px) {
    .index .reviews-grid {
        -moz-column-count: 3;
        column-count: 3
    }
}

.index .reviews-grid>.cell {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    width: 100%;
    margin-bottom: 1rem;
    display: block
}

.index .books-grid {
    grid-gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    align-items: baseline;
    gap: .75rem;
    padding: 1rem;
    display: grid
}

.index .books-grid img {
    height: auto
}

.index .bg-books {
    background-color: #141b22;
    background-color: var(--dark-backdrop);
    background-image: radial-gradient(circle, #26343f 0%, #0000 70%);
    background-image: radial-gradient(circle, var(--dark) 0%, transparent 70%)
}

.team header {
    background: url(https://assets-cdn.reedsy.com/vite/assets/header-FfV2hjTY.webp) top/cover no-repeat;
    min-height: 24rem
}

@media (width>=600px) {
    .team header {
        min-height: 26rem
    }
}

@media (width>=900px) {
    .team header {
        min-height: 32rem
    }
}

.team header .header-text {
    max-width: 24rem;
    margin: 0 auto
}

.team .team-grid {
    grid-template-columns: 1fr;
    display: grid
}

@media (width>=900px) {
    .team .team-grid {
        grid-template-columns: 1fr 1fr
    }
}

.service h1,
.service h2 {
    text-wrap: balance
}

.service header {
    position: relative
}

.service header .header-img {
    -o-object-fit: contain;
    object-fit: contain;
    max-width: 406.4px
}

.service header .header-submenu {
    z-index: 2
}

.service header .header-submenu .dropdown-container {
    position: fixed
}

.service .hero {
    position: relative;
    overflow: hidden
}

.service .hero .header-text {
    z-index: 1;
    max-width: 40rem;
    margin: 0 auto;
    position: relative
}

.service .hero .hero-left,
.service .hero .hero-right {
    background-repeat: no-repeat;
    background-size: 360px 340px;
    width: 35%;
    min-width: 600px;
    height: 100%;
    display: none;
    position: absolute;
    top: 0
}

@media (width>=900px) {

    .service .hero .hero-left,
    .service .hero .hero-right {
        display: block
    }
}

.service .hero .hero-left {
    background-position: 0 100%;
    left: -160px
}

@media (width>=900px) {
    .service .hero .hero-left {
        left: -250px
    }
}

.service .hero .hero-right {
    background-position: 100% 100%;
    right: -160px
}

@media (width>=900px) {
    .service .hero .hero-right {
        right: -250px
    }

    .service .grid-reverse-md {
        flex-direction: row-reverse
    }
}

.service .recommendations-grid {
    grid-gap: 1rem;
    grid-template-columns: repeat(3, minmax(18rem, 1fr));
    gap: 1rem;
    display: grid
}

@media (width>=900px) {
    .service .recommendations-grid {
        gap: 1.5rem
    }
}

.service .showcase-grid {
    grid-gap: 1rem;
    grid-auto-columns: min-content;
    grid-auto-flow: column;
    gap: 1rem;
    margin: 0 -1rem;
    padding: .25rem 1rem;
    display: grid
}

.service .showcase-grid>div {
    min-width: 17rem
}

.service .featured-services-grid {
    display: flex
}

.service .featured-services-grid .cell {
    width: 100%;
    min-width: 12rem
}

.service .featured-services-grid .cell img {
    -o-object-fit: contain;
    object-fit: contain;
    max-width: 100%;
    max-height: 10rem
}

.service .service-img {
    max-width: 100%;
    max-height: 300px;
    margin: 0 auto;
    display: block
}

.partners .recommendations-grid {
    grid-gap: 1rem;
    grid-template-columns: repeat(3, minmax(18rem, 1fr));
    gap: 1rem;
    display: grid
}

@media (width>=900px) {
    .partners .recommendations-grid {
        gap: 1.5rem
    }
}

.partners .how-it-works-grid {
    grid-gap: 1.5rem;
    grid-template-columns: repeat(4, minmax(10rem, 1fr));
    gap: 1.5rem;
    display: grid
}

.partners .services-grid {
    grid-gap: 1.5rem;
    grid-template-columns: repeat(5, minmax(10rem, 1fr));
    gap: 1.5rem;
    display: grid
}

.partners .service-img {
    max-width: 100%;
    max-height: 300px;
    margin: 0 auto;
    display: block
}

@media (width>=900px) {
    .partners .grid-reverse-md {
        flex-direction: row-reverse
    }
}

.join-our-community header {
    background-image: radial-gradient(circle at 100% 0%, var(--accent-backdrop) 0%, #141b22 90%);
    background-image: radial-gradient(circle at 100% 0%, var(--accent-backdrop) 0%, var(--dark-backdrop) 90%)
}

.join-our-community .services-grid {
    grid-gap: .5rem;
    grid-auto-columns: minmax(9rem, 1fr);
    grid-auto-flow: column;
    gap: .5rem;
    display: grid
}

.join-our-community .testimonials-grid {
    padding: .25rem var(--content-padding);
    grid-auto-columns: minmax(19rem, 1fr);
    grid-auto-flow: column;
    display: grid
}

@media (width>=900px) {
    .join-our-community .testimonials-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-flow: row
    }
}

.not-found .freelancer-grid {
    grid-gap: 1rem;
    grid-auto-columns: 300px;
    grid-auto-flow: column;
    gap: 1rem;
    margin: -1rem;
    padding: 1rem;
    display: grid
}

@media (width>=900px) {
    .not-found .freelancer-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: row
    }
}

.not-found .splash-404 {
    text-align: right;
    font-size: 14rem;
    font-weight: 500;
    line-height: 12rem;
    font-weight: var(--fontWeight-base-bold);
    color: var(--accent-translucent);
    letter-spacing: -1rem
}

@media (width<=899px) {
    .not-found .splash-404 {
        opacity: .5;
        position: absolute;
        top: 0;
        right: 0
    }
}

h1:not(.text-logo),
h2:not(.text-logo),
.h1:not(.text-logo),
.h2:not(.text-logo) {
    font-family: Lora, Lora-fallback, Times New Roman, serif;
    font-family: var(--fontFamily-serif);
    font-weight: 700;
    font-weight: var(--fontWeight-serif-bold)
}



.hire-writers h1 {
    font-size:35px;
    margin-bottom:40px;
}