.tf-rte {
    --tf-rte-heading: inherit;
    --tf-rte-link: var(--tf-color-link, currentColor);
    --tf-rte-line: var(--tf-color-border, rgba(0, 0, 0, .12));
    --tf-rte-soft: rgba(0, 0, 0, .035);
    --tf-rte-head-bg: rgba(0, 0, 0, .045);
    --tf-rte-zebra: rgba(0, 0, 0, .02);
    --tf-rte-accent: var(--tf-color-border, #c9bdb0);
    overflow-wrap: break-word;
    word-break: normal;
}
.tf-rte.tf-rte.tf-rte > :first-child { margin-top: 0; }
.tf-rte.tf-rte.tf-rte > :last-child { margin-bottom: 0; }

.tf-rte.tf-rte.tf-rte :is(h1, h2, h3, h4, h5, h6) {
    display: block;
    color: var(--tf-rte-heading);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: normal;
    text-transform: none;
    margin: 1.6em 0 .6em;
    padding: 0;
    border: 0;
    scroll-margin-top: 96px;
}
.tf-rte.tf-rte.tf-rte h1 { font-size: 1.75em; }
.tf-rte.tf-rte.tf-rte h2 { font-size: 1.45em; }
.tf-rte.tf-rte.tf-rte h3 { font-size: 1.22em; }
.tf-rte.tf-rte.tf-rte h4 { font-size: 1.08em; }
.tf-rte.tf-rte.tf-rte h5 { font-size: 1em; }
.tf-rte.tf-rte.tf-rte h6 { font-size: .92em; }
.tf-rte.tf-rte.tf-rte :is(h1, h2, h3, h4, h5, h6) :is(b, strong) { font-weight: inherit; }

.tf-rte.tf-rte.tf-rte p { margin: 0 0 1em; }
.tf-rte.tf-rte.tf-rte p:empty { display: none; }

.tf-rte.tf-rte.tf-rte :is(ul, ol) {
    margin: 0 0 1.2em;
    padding: 0 0 0 1.5em;
    list-style-position: outside;
}
.tf-rte.tf-rte.tf-rte ul { list-style-type: disc; }
.tf-rte.tf-rte.tf-rte ol { list-style-type: decimal; }
.tf-rte.tf-rte.tf-rte :is(ul, ol) ul { list-style-type: circle; }
.tf-rte.tf-rte.tf-rte :is(ul, ol) :is(ul, ol) ul { list-style-type: square; }
.tf-rte.tf-rte.tf-rte :is(ul, ol) ol { list-style-type: lower-alpha; }
.tf-rte.tf-rte.tf-rte :is(ul, ol) :is(ul, ol) ol { list-style-type: lower-roman; }
.tf-rte.tf-rte.tf-rte ol[type="a"] { list-style-type: lower-alpha; }
.tf-rte.tf-rte.tf-rte ol[type="A"] { list-style-type: upper-alpha; }
.tf-rte.tf-rte.tf-rte ol[type="i"] { list-style-type: lower-roman; }
.tf-rte.tf-rte.tf-rte ol[type="I"] { list-style-type: upper-roman; }
.tf-rte.tf-rte.tf-rte li {
    display: list-item;
    list-style-type: inherit;
    list-style-position: inherit;
    margin: 0 0 .45em;
    padding: 0 0 0 .2em;
}
.tf-rte.tf-rte.tf-rte li::marker { color: currentColor; }
.tf-rte.tf-rte.tf-rte li > :is(ul, ol) { margin: .45em 0 0; }
.tf-rte.tf-rte.tf-rte li > p { margin: 0; }
.tf-rte.tf-rte.tf-rte li > p + p { margin-top: .45em; }

.tf-rte.tf-rte.tf-rte dl { margin: 0 0 1.2em; }
.tf-rte.tf-rte.tf-rte dt { font-weight: 600; color: var(--tf-rte-heading); margin: .8em 0 0; }
.tf-rte.tf-rte.tf-rte dd { margin: 0 0 .4em; padding-left: 1em; }

.tf-rte.tf-rte.tf-rte a {
    color: var(--tf-rte-link);
    font-size: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity .15s ease;
}
.tf-rte.tf-rte.tf-rte a:hover { opacity: .75; }
.tf-rte.tf-rte.tf-rte :is(b, strong) { font-weight: 700; }
.tf-rte.tf-rte.tf-rte :is(em, i, cite) { font-style: italic; }
.tf-rte.tf-rte.tf-rte u { text-decoration: underline; }
.tf-rte.tf-rte.tf-rte :is(s, del, strike) { text-decoration: line-through; }
.tf-rte.tf-rte.tf-rte mark { background: #fff3b0; color: inherit; padding: 0 .18em; border-radius: 2px; }
.tf-rte.tf-rte.tf-rte small { font-size: .85em; }
.tf-rte.tf-rte.tf-rte :is(sub, sup) { font-size: .72em; line-height: 0; }

.tf-rte.tf-rte.tf-rte blockquote {
    margin: 1.4em 0;
    padding: .6em 1.2em;
    border: 0;
    border-left: 3px solid var(--tf-rte-accent);
    border-radius: 0 6px 6px 0;
    background: var(--tf-rte-soft);
    font-style: italic;
}
.tf-rte.tf-rte.tf-rte blockquote > :last-child { margin-bottom: 0; }

.tf-rte.tf-rte.tf-rte hr {
    height: 0;
    margin: 2em 0;
    border: 0;
    border-top: 1px solid var(--tf-rte-line);
    opacity: 1;
}

.tf-rte.tf-rte.tf-rte img { max-width: 100%; height: auto; border-radius: 8px; }
.tf-rte.tf-rte.tf-rte figure { margin: 1.5em 0; }
.tf-rte.tf-rte.tf-rte figure img { display: block; margin-inline: auto; }
.tf-rte.tf-rte.tf-rte figcaption { margin-top: .5em; font-size: .88em; opacity: .75; text-align: center; }
.tf-rte.tf-rte.tf-rte :is(iframe, video, embed, object) { max-width: 100%; }
.tf-rte.tf-rte.tf-rte iframe[src*="youtube"],
.tf-rte.tf-rte.tf-rte iframe[src*="vimeo"] { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 8px; }

.tf-rte.tf-rte.tf-rte table {
    display: table;
    width: 100%;
    max-width: 100%;
    margin: 1.5em 0;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--tf-rte-line);
    border-radius: 8px;
    overflow: hidden;
    font-size: .95em;
}
.tf-rte.tf-rte.tf-rte :is(th, td) {
    padding: .65em .9em;
    border: 0;
    border-right: 1px solid var(--tf-rte-line);
    border-bottom: 1px solid var(--tf-rte-line);
    text-align: left;
    vertical-align: top;
}
.tf-rte.tf-rte.tf-rte tr > :is(th, td):last-child { border-right: 0; }
.tf-rte.tf-rte.tf-rte table > :last-child > tr:last-child > :is(th, td),
.tf-rte.tf-rte.tf-rte table > tr:last-child > :is(th, td) { border-bottom: 0; }
.tf-rte.tf-rte.tf-rte th { font-weight: 600; color: var(--tf-rte-heading); }
.tf-rte.tf-rte.tf-rte thead :is(th, td),
.tf-rte.tf-rte.tf-rte tr:first-child > th { background: var(--tf-rte-head-bg); }
.tf-rte.tf-rte.tf-rte tbody tr:nth-child(even) > td { background: var(--tf-rte-zebra); }
.tf-rte.tf-rte.tf-rte caption { caption-side: bottom; padding-top: .5em; font-size: .88em; opacity: .75; text-align: left; }
.tf-rte.tf-rte.tf-rte :is(th, td) > :last-child { margin-bottom: 0; }

.tf-rte.tf-rte.tf-rte code {
    padding: .12em .4em;
    border-radius: 4px;
    background: rgba(0, 0, 0, .05);
    font-size: .9em;
}
.tf-rte.tf-rte.tf-rte pre {
    margin: 1.4em 0;
    padding: 1em 1.2em;
    overflow-x: auto;
    border-radius: 8px;
    background: #1a1a18;
    color: #f5f2ee;
    white-space: pre;
}
.tf-rte.tf-rte.tf-rte pre code { padding: 0; background: none; color: inherit; }

@media (max-width: 767.98px) {
    .tf-rte.tf-rte.tf-rte h1 { font-size: 1.55em; }
    .tf-rte.tf-rte.tf-rte h2 { font-size: 1.32em; }
    .tf-rte.tf-rte.tf-rte h3 { font-size: 1.15em; }
    .tf-rte.tf-rte.tf-rte :is(ul, ol) { padding-left: 1.25em; }
    .tf-rte.tf-rte.tf-rte table {
        display: block;
        width: max-content;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tf-rte.tf-rte.tf-rte :is(th, td) { padding: .5em .65em; }
}
