/*!
 * Copyright (c) 2021.
 *
 * @category TYPO3
 *
 * @copyright  2020 web-kon Internetagentur
 * @author     web-kon Internetagentur <info@web-kon.de>
 * @license    AGPL v3
 */
:root {
    --rfs-purple: #701B89;
    --rfs-navy: #0C2251;
    --rfs-cream: #F1EEE6;
    --rfs-navy-deep: #081838;
    --rfs-line: rgba(12,34,81,.14);
    --rfs-line-light: rgba(255,255,255,.28);
    --rfs-gradient: linear-gradient(45deg,var(--rfs-purple) 0%,var(--rfs-navy) 75%);
    --rfs-header-h: 76px;
    --rfs-ease: cubic-bezier(.2,.7,.3,1)
}

* {
    -webkit-font-smoothing: antialiased
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--rfs-header-h) + 24px);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body {
    font-family: "Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-weight: 300;
    font-size: 1.0625rem;
    color: var(--rfs-navy);
    background: #fff;
    line-height: 1.65;
    overflow-x: clip;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word
}

h1,h2,.rfs-statement p,.rfs-eyebrow,.rfs-btn,.rfs-form label,.rfs-chain__table th,.rfs-flag {
    hyphens: manual;
    -webkit-hyphens: manual
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
    outline: 3px solid var(--rfs-purple);
    outline-offset: 3px
}

.rfs-section--gradient a:focus-visible,.rfs-hero a:focus-visible,.rfs-contact a:focus-visible,.rfs-chain:focus-visible {
    outline-color: #fff
}

.rfs-skip {
    position: absolute;
    left: 1rem;
    top: -4rem;
    z-index: 1100;
    background: var(--rfs-purple);
    color: #fff;
    padding: .75rem 1.25rem;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    transition: top .2s var(--rfs-ease)
}

.rfs-skip:focus {
    top: 1rem;
    color: #fff
}

h1,h2,h3,h4 {
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.015em
}

h1 {
    font-size: clamp(2.1rem,5.4vw,4.5rem)
}

h2 {
    font-size: clamp(1.7rem,3.4vw,3rem)
}

h3 {
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0
}

.rfs-eyebrow {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 1rem;
    color: var(--rfs-purple)
}

.rfs-lead {
    font-size: clamp(1.0625rem,1.5vw,1.3125rem);
    font-weight: 300;
    line-height: 1.65
}

.rfs-measure {
    max-width: 56ch
}

.rfs-mark {
    background: var(--rfs-purple);
    color: #fff;
    padding: .02em .28em .12em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone
}

@media(max-width: 991.98px) {
    .container {
        padding-left:1.5rem;
        padding-right: 1.5rem
    }
}

@media(min-width: 1200px) {
    .container {
        max-width:1280px
    }
}

@media(min-width: 1400px) {
    .container {
        max-width:1500px
    }
}

.rfs-section {
    padding: clamp(3.5rem,7vw,7rem) 0
}

.rfs-section--cream {
    background: var(--rfs-cream)
}

.rfs-section--gradient {
    background: var(--rfs-gradient);
    color: #fff
}

.rfs-section--gradient h2,.rfs-section--gradient h3 {
    color: #fff
}

.rfs-section--gradient .rfs-eyebrow {
    color: rgba(255,255,255,.72)
}

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s var(--rfs-ease),transform .6s var(--rfs-ease)
}

.reveal.is-in {
    opacity: 1;
    transform: none
}

@media(prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto
    }

    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important
    }

    *,*::before,*::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important
    }
}

.rfs-btn {
    --_bg: var(--rfs-navy);
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    font-weight: 700;
    font-size: .875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 1.1rem 2rem;
    border: 0;
    border-radius: 0;
    background: var(--_bg);
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s var(--rfs-ease),transform .2s var(--rfs-ease)
}

.rfs-btn:hover,.rfs-btn:focus-visible {
    --_bg: var(--rfs-purple);
    color: #fff;
    transform: translateY(-2px)
}

.rfs-btn:focus-visible {
    outline: 3px solid var(--rfs-purple);
    outline-offset: 3px
}

.rfs-btn {
    white-space: normal;
    text-align: left;
    min-width: 0;
    max-width: 100%
}

.rfs-btn .rfs-arrow {
    transition: transform .2s var(--rfs-ease)
}

.rfs-btn:hover .rfs-arrow {
    transform: translateX(5px)
}

.rfs-btn--purple {
    --_bg: var(--rfs-purple)
}

.rfs-btn--purple:hover,.rfs-btn--purple:focus-visible {
    --_bg: var(--rfs-navy)
}

.rfs-btn--ghost {
    background: rgba(0,0,0,0);
    color: #fff;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.85)
}

.rfs-btn--ghost:hover,.rfs-btn--ghost:focus-visible {
    background: #fff;
    color: var(--rfs-navy)
}

.rfs-btn--white {
    background: #fff;
    color: var(--rfs-navy)
}

.rfs-btn--white:hover,.rfs-btn--white:focus-visible {
    background: var(--rfs-purple);
    color: #fff
}

.rfs-btn__icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
    flex: 0 0 auto
}

.rfs-phonelink {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid currentColor;
    padding-bottom: 2px
}

.rfs-phonelink:hover {
    color: var(--rfs-purple)
}

.rfs-section--gradient .rfs-phonelink:hover,.rfs-hero .rfs-phonelink:hover {
    color: #fff;
    opacity: .72
}

.rfs-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--rfs-line);
    transition: box-shadow .25s var(--rfs-ease)
}

.rfs-header.is-stuck {
    box-shadow: 0 6px 24px rgba(12,34,81,.1)
}

.rfs-header__inner {
    min-height: var(--rfs-header-h)
}

.rfs-header__progress {
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 2px;
    width: 0;
    background: var(--rfs-gradient);
    transition: width .1s linear
}

.rfs-logo {
    display: block;
    color: var(--rfs-navy);
    line-height: 0
}

.rfs-logo svg {
    height: 26px;
    width: auto;
    fill: currentColor;
    transition: color .2s var(--rfs-ease)
}

.rfs-logo:hover {
    color: var(--rfs-purple)
}

.rfs-header__cta {
    padding: .7rem 1.25rem;
    font-size: .75rem
}

@media(max-width: 575.98px) {
    .rfs-logo svg {
        height:22px
    }

    .rfs-header__cta {
        padding: .65rem .9rem;
        letter-spacing: .08em
    }
}

.rfs-header__phone {
    font-size: .875rem;
    font-weight: 700;
    color: var(--rfs-navy);
    text-decoration: none
}

.rfs-header__phone:hover {
    color: var(--rfs-purple)
}

.rfs-hero {
    background: var(--rfs-gradient);
    color: #fff;
    padding: clamp(3.5rem,10vw,7.5rem) 0 clamp(3rem,7vw,5rem)
}

.rfs-hero h1 {
    color: #fff;
    max-width: 19ch
}

.rfs-hero__sub {
    font-size: clamp(1.125rem,1.7vw,1.5rem);
    font-weight: 300;
    color: rgba(255,255,255,.9)
}

.rfs-hero__img {
    display: block;
    width: 100%;
    height: auto
}

@media(min-width: 992px) {
    .rfs-hero__img {
        width:132%;
        max-width: none;
        margin-left: -16%
    }
}

.rfs-cut {
    position: relative;
    aspect-ratio: 1/1;
    background: var(--rfs-navy-deep);
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    display: flex;
    align-items: center;
    justify-content: center
}

.rfs-cut img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rfs-cut__placeholder {
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    text-align: center;
    padding: 2rem
}

.rfs-occ-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr
}

@media(min-width: 576px) {
    .rfs-occ-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media(min-width: 992px) {
    .rfs-occ-grid {
        grid-template-columns:repeat(5, 1fr);
        gap: 1rem
    }
}

.rfs-occ-card {
    position: relative;
    height: 100%;
    border: 1px solid var(--rfs-line);
    background: #fff;
    padding: 1.75rem 1.35rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center
}

.rfs-occ-card__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--rfs-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    flex: 0 0 auto
}

.rfs-occ-card__icon svg {
    width: 34px;
    height: 34px;
    stroke: #fff;
    fill: none;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round
}

.rfs-occ-card h3 {
    font-size: 1.125rem;
    margin: 0
}

.rfs-occ-card p {
    font-size: 1rem;
    margin: .65rem 0 0;
    max-width: 32ch;
    color: rgba(12,34,81,.8)
}

@media(min-width: 992px) {
    .rfs-occ-card {
        height:320px;
        justify-content: center;
        padding: 2rem 1.4rem;
        overflow: hidden;
        transition: background .35s var(--rfs-ease),border-color .35s var(--rfs-ease),box-shadow .35s var(--rfs-ease)
    }

    .rfs-occ-card__icon {
        width: 96px;
        height: 96px;
        margin-bottom: 1.35rem;
        transition: background .35s var(--rfs-ease),width .35s var(--rfs-ease),height .35s var(--rfs-ease),margin-bottom .35s var(--rfs-ease)
    }

    .rfs-occ-card__icon svg {
        width: 46px;
        height: 46px;
        stroke-width: 1.2;
        transition: stroke .35s var(--rfs-ease),width .35s var(--rfs-ease),height .35s var(--rfs-ease)
    }

    .rfs-occ-card h3 {
        font-size: 1.0625rem;
        min-height: 2.7em;
        transition: color .35s var(--rfs-ease)
    }

    .rfs-occ-card p {
        font-size: .9375rem;
        line-height: 1.6;
        max-height: 0;
        opacity: 0;
        margin-top: 0;
        overflow: hidden;
        transition: max-height .4s var(--rfs-ease),opacity .3s var(--rfs-ease),margin-top .4s var(--rfs-ease),color .35s var(--rfs-ease)
    }

    .rfs-occ-card:focus-visible {
        outline: 3px solid var(--rfs-purple);
        outline-offset: 3px
    }

    .rfs-occ-card:hover,.rfs-occ-card:focus-within {
        background: var(--rfs-gradient);
        border-color: rgba(0,0,0,0);
        box-shadow: 0 14px 34px rgba(12,34,81,.16)
    }

    .rfs-occ-card:hover h3,.rfs-occ-card:focus-within h3 {
        color: #fff
    }

    .rfs-occ-card:hover p,.rfs-occ-card:focus-within p {
        max-height: 15rem;
        opacity: 1;
        margin-top: .65rem;
        color: rgba(255,255,255,.9)
    }

    .rfs-occ-card:hover .rfs-occ-card__icon,.rfs-occ-card:focus-within .rfs-occ-card__icon {
        background: #fff;
        width: 52px;
        height: 52px;
        margin-bottom: .9rem
    }

    .rfs-occ-card:hover .rfs-occ-card__icon svg,.rfs-occ-card:focus-within .rfs-occ-card__icon svg {
        stroke: var(--rfs-purple);
        width: 26px;
        height: 26px;
        stroke-width: 1.5
    }
}

@media(min-width: 992px)and (max-width: 1199.98px) {
    .rfs-occ-card {
        height:352px;
        padding: 1.75rem 1.1rem
    }

    .rfs-occ-card p {
        font-size: .875rem
    }
}

@media(prefers-reduced-motion: reduce) {
    .rfs-occ-card,.rfs-occ-card__icon,.rfs-occ-card__icon svg,.rfs-occ-card h3,.rfs-occ-card p {
        transition: none !important
    }
}

.rfs-scatter {
    width: 100%;
    height: auto
}

.rfs-scatter .pg {
    fill: #fff;
    stroke: rgba(12,34,81,.35);
    stroke-width: 1.2
}

.rfs-scatter .pg-cream {
    fill: var(--rfs-cream)
}

.rfs-scatter .ln {
    stroke: rgba(12,34,81,.28);
    stroke-width: 1.2
}

.rfs-scatter .ph-frame {
    fill: none;
    stroke: var(--rfs-purple);
    stroke-width: 1.4
}

.rfs-scatter .ph-fill {
    fill: rgba(112,27,137,.14)
}

.rfs-scatter .box {
    fill: none;
    stroke: var(--rfs-navy);
    stroke-width: 1.6
}

.rfs-svc {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: svc;
    border-top: 1px solid var(--rfs-line)
}

.rfs-svc>li {
    counter-increment: svc;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2rem;
    padding: 1.85rem 0;
    border-bottom: 1px solid var(--rfs-line)
}

.rfs-svc>li::before {
    content: counter(svc, decimal-leading-zero);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--rfs-purple);
    line-height: 1.4;
    min-width: 2.25rem
}

.rfs-svc h3 {
    margin-bottom: .35rem
}

.rfs-svc p {
    margin-bottom: 0;
    font-size: 1.0625rem;
    max-width: 72ch
}

.rfs-svc__tiers {
    list-style: none;
    margin: .85rem 0 0;
    padding: 0;
    border-left: 2px solid rgba(112,27,137,.25)
}

.rfs-svc__tiers li {
    counter-increment: none;
    display: block;
    border: 0;
    padding: .4rem 0 .4rem 1.15rem;
    font-size: 1rem
}

.rfs-svc__tiers li::before {
    content: none
}

.rfs-svc__tiers b {
    font-weight: 700
}

.rfs-flag {
    display: inline-block;
    margin-left: .4rem;
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: var(--rfs-purple);
    color: #fff;
    padding: .1rem .45rem;
    vertical-align: middle
}

.rfs-callout {
    border-left: 3px solid var(--rfs-purple);
    padding: 1.25rem 0 1.25rem 1.5rem;
    margin-top: 2.5rem
}

.rfs-callout p {
    margin: 0;
    font-size: 1.1875rem
}

.rfs-statement {
    background: var(--rfs-gradient);
    color: #fff;
    padding: clamp(4rem,9vw,7.5rem) 0
}

.rfs-statement p {
    font-size: clamp(1.9rem,5vw,5rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.025em;
    margin: 0 auto;
    max-width: 24ch;
    text-align: center
}

.rfs-statement span {
    color: rgba(255,255,255,.62)
}

.rfs-dl {
    list-style: none;
    margin: 0;
    padding: 0
}

.rfs-dl li {
    padding: 1rem 0;
    border-bottom: 1px solid var(--rfs-line);
    break-inside: avoid
}

.rfs-dl strong {
    display: block;
    font-weight: 700;
    font-size: 1.0625rem;
    margin-bottom: .2rem
}

.rfs-dl span {
    font-size: 1rem;
    color: rgba(12,34,81,.78)
}

@media(min-width: 768px) {
    .rfs-dl--cols {
        column-count:2;
        column-gap: 3.5rem
    }
}

.rfs-fig {
    margin: 0
}

.rfs-fig img {
    display: block;
    width: 100%;
    height: auto;
    background: var(--rfs-cream)
}

.rfs-fig figcaption {
    font-size: .9375rem;
    color: rgba(12,34,81,.72);
    margin-top: .85rem;
    max-width: 52ch
}

.rfs-chain-wrap {
    position: relative
}

.rfs-chain {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .25rem
}

.rfs-chain__table {
    width: 100%;
    min-width: 660px;
    border-collapse: separate;
    border-spacing: .55rem .45rem;
    table-layout: fixed
}

.rfs-chain__table th,.rfs-chain__table td {
    padding: 0;
    vertical-align: middle
}

.rfs-chain__table thead th {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.8);
    text-align: center;
    padding-bottom: .35rem
}

.rfs-chain__table tbody th {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
    text-align: left;
    padding-right: .75rem
}

.rfs-chain__table tbody tr.is-own th {
    color: #fff
}

.rfs-chain__cell {
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center
}

.rfs-chain__cell--yes {
    background: #fff
}

.rfs-chain__cell--no {
    border: 1px dashed rgba(255,255,255,.34)
}

.rfs-chain__ico {
    width: 24px;
    height: 24px;
    fill: none;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round
}

.rfs-chain__cell--yes .rfs-chain__ico {
    stroke: var(--rfs-purple)
}

.rfs-chain__cell--no .rfs-chain__ico {
    stroke: rgba(255,255,255,.55)
}

.rfs-chain-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: .25rem;
    width: 56px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(30, 28, 90, 0) 0%, rgba(20, 26, 70, 0.55) 100%)
}

@media(min-width: 992px) {
    .rfs-chain-wrap::after {
        display:none
    }
}

@media(max-width: 767.98px) {
    .rfs-chain {
        overflow:visible
    }

    .rfs-chain-wrap::after {
        display: none
    }

    .rfs-chain__table {
        display: block;
        min-width: 0;
        border-spacing: 0
    }

    .rfs-chain__table colgroup,.rfs-chain__table thead {
        display: none
    }

    .rfs-chain__table tbody {
        display: block
    }

    .rfs-chain__table tbody tr {
        display: block;
        border: 1px solid rgba(255,255,255,.26);
        padding: 1.1rem 1.25rem;
        margin-bottom: 1rem
    }

    .rfs-chain__table tbody tr.is-own {
        background: rgba(255,255,255,.1);
        border-color: rgba(255,255,255,.5)
    }

    .rfs-chain__table tbody th {
        display: block;
        padding: 0 0 .5rem;
        font-size: .875rem;
        color: #fff
    }

    .rfs-chain__table tbody td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: .5rem 0;
        border-top: 1px solid rgba(255,255,255,.16)
    }

    .rfs-chain__table tbody td::before {
        content: attr(data-step);
        font-size: .8125rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: rgba(255,255,255,.8)
    }

    .rfs-chain__cell {
        height: auto;
        width: auto;
        background: rgba(0,0,0,0) !important;
        border: 0 !important
    }

    .rfs-chain__cell--yes .rfs-chain__ico {
        stroke: #fff
    }

    .rfs-chain__cell--no .rfs-chain__ico {
        stroke: rgba(255,255,255,.5)
    }
}

.rfs-contact {
    background: var(--rfs-gradient);
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.rfs-contact__body {
    padding: 2rem
}

@media(min-width: 992px) {
    .rfs-contact-col {
        position:relative
    }

    .rfs-contact-col>.rfs-contact {
        top: 0;
        bottom: 0;
        left: calc(var(--bs-gutter-x)*.5);
        right: calc(var(--bs-gutter-x)*.5);
        overflow: hidden
    }

    .rfs-contact__body {
        padding: 2rem 2.25rem
    }
}

.rfs-contact__eyebrow {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    margin-bottom: .75rem
}

.rfs-contact__name {
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.25
}

.rfs-contact__role {
    color: rgba(255,255,255,.75);
    font-size: 1.0625rem
}

.rfs-contact__meta {
    font-size: 1.0625rem
}

.rfs-contact__meta a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.4)
}

.rfs-contact__meta a:hover {
    border-bottom-color: #fff
}

.rfs-contact__note {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255,255,255,.85);
    margin: 0
}

.accordion-item {
    border: 0;
    border-top: 1px solid var(--rfs-line);
    background: rgba(0,0,0,0)
}

.accordion-item:last-child {
    border-bottom: 1px solid var(--rfs-line)
}

.accordion-button {
    background: rgba(0,0,0,0);
    color: var(--rfs-navy);
    font-weight: 700;
    font-size: 1.1875rem;
    line-height: 1.4;
    padding: 1.4rem 0;
    box-shadow: none;
    border-radius: 0 !important;
    transition: color .2s var(--rfs-ease),padding-left .25s var(--rfs-ease)
}

.accordion-button:hover {
    color: var(--rfs-purple);
    padding-left: .5rem
}

.accordion-button:not(.collapsed) {
    background: rgba(0,0,0,0);
    color: var(--rfs-purple);
    box-shadow: none
}

.accordion-button:focus {
    box-shadow: none;
    outline: 3px solid var(--rfs-purple);
    outline-offset: 2px
}

.accordion-button::after {
    background-image: none;
    content: "+";
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1;
    width: auto;
    height: auto;
    color: var(--rfs-purple);
    transform: rotate(0deg);
    transition: transform .3s var(--rfs-ease)
}

.accordion-button:not(.collapsed)::after {
    transform: rotate(135deg)
}

.accordion-body {
    padding: 0 0 1.5rem;
    font-size: 1.0625rem;
    max-width: 70ch
}

.rfs-form label {
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: .4rem
}

.rfs-form .form-control,.rfs-form .form-select {
    border-radius: 0;
    border: 1px solid rgba(12,34,81,.25);
    padding: .85rem 1rem;
    font-size: 1rem;
    font-weight: 300;
    transition: border-color .2s var(--rfs-ease),box-shadow .2s var(--rfs-ease)
}

.rfs-form .form-control:focus,.rfs-form .form-select:focus {
    border-color: var(--rfs-purple);
    box-shadow: 0 0 0 3px rgba(112,27,137,.15)
}

.rfs-form .form-check-input {
    border-radius: 0;
    border-color: rgba(12,34,81,.35);
    margin-top: .3rem
}

.rfs-form .form-check-input:checked {
    background-color: var(--rfs-purple);
    border-color: var(--rfs-purple)
}

.rfs-form .form-check-label {
    font-size: .9375rem;
    font-weight: 300;
    text-transform: none;
    letter-spacing: 0
}

.rfs-form .form-hint {
    font-size: .8125rem;
    color: rgba(12,34,81,.7)
}

@media(max-width: 767.98px) {
    .rfs-form .form-control,.rfs-form .form-select {
        font-size:1rem
    }
}

.rfs-hp {
    position: absolute !important;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden
}

@media(max-width: 575.98px) {
    .rfs-btn {
        font-size:.8125rem;
        letter-spacing: .08em;
        padding: 1rem 1.25rem;
        gap: .6rem
    }

    .rfs-hero .rfs-btn,.rfs-form .rfs-btn {
        width: 100%;
        justify-content: center;
        text-align: center
    }

    .rfs-hero .d-flex.flex-wrap {
        gap: .75rem !important
    }

    .rfs-svc>li {
        gap: 1rem;
        padding: 1.5rem 0
    }

    .rfs-svc>li::before {
        font-size: 1.25rem;
        min-width: 1.9rem
    }

    .rfs-svc__tiers li {
        padding-left: .9rem
    }

    .rfs-callout {
        padding-left: 1.15rem;
        margin-top: 2rem
    }

    .rfs-occ-card {
        padding: 1.5rem 1.25rem
    }

    .rfs-occ-card p {
        max-width: none
    }

    .rfs-contact__body {
        padding: 1.5rem
    }

    .rfs-contact__meta a {
        overflow-wrap: anywhere
    }

    .accordion-button {
        font-size: 1.0625rem;
        padding: 1.15rem 1.75rem 1.15rem 0;
        position: relative
    }

    .accordion-button::after {
        position: absolute;
        right: 0;
        top: 1.05rem
    }

    .rfs-footer {
        text-align: center
    }

    .rfs-footer .container {
        justify-content: center !important
    }
}

@media(max-width: 359.98px) {
    .rfs-btn {
        font-size:.75rem;
        padding: .9rem 1rem
    }
}

@media print {
    .rfs-header,.rfs-skip,.rfs-footer {
        display: none !important
    }

    body {
        color: #000;
        background: #fff
    }

    .rfs-section,.rfs-hero,.rfs-statement {
        padding: 1.5rem 0;
        background: #fff !important;
        color: #000 !important
    }

    .rfs-hero h1,.rfs-section--gradient h2,.rfs-statement p {
        color: #000 !important
    }

    .rfs-occ-card p {
        max-height: none !important;
        opacity: 1 !important
    }

    .reveal {
        opacity: 1 !important;
        transform: none !important
    }

    .rfs-chain {
        overflow: visible
    }
}

.rfs-footer {
    background: #000;
    color: rgba(255,255,255,.6);
    padding: 2.25rem 0;
    font-size: .875rem
}

.rfs-footer a {
    color: rgba(255,255,255,.75);
    text-decoration: none
}

.rfs-footer a:hover {
    color: #fff
}

.rfs-footer__logo svg {
    height: 20px;
    width: auto;
    fill: #fff;
    opacity: .85
}

.ph {
    background: #ffe9a8;
    color: #5a3b00;
    padding: 0 .25rem;
    font-weight: 600;
    overflow-wrap: anywhere;
    word-break: break-word
}

.rfs-section--gradient .ph,.rfs-hero .ph,.rfs-contact .ph,.rfs-header .ph {
    background: #ffd54a;
    color: #3a2500
}

.frame-type-form_formframework form {
    --rfs-purple: #701b89;
    --rfs-ease: cubic-bezier(0.25, 0.1, 0.25, 1)
}

.frame-type-form_formframework form label,.frame-type-form_formframework form .form-floating>label {
    font-size: .875rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    margin-bottom: .4rem !important;
    color: inherit
}

.frame-type-form_formframework form .form-floating>label {
    position: relative !important;
    padding: 0 !important;
    height: auto !important;
    transform: none !important;
    display: block
}

.frame-type-form_formframework form .form-control,.frame-type-form_formframework form .form-select,.frame-type-form_formframework form select.form-control {
    border-radius: 0 !important;
    border: 1px solid rgba(12,34,81,.25) !important;
    padding: .85rem 1rem !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    height: auto !important;
    transition: border-color .2s var(--rfs-ease, ease),box-shadow .2s var(--rfs-ease, ease) !important
}

.frame-type-form_formframework form .form-control:focus,.frame-type-form_formframework form .form-select:focus {
    border-color: var(--rfs-purple, #701b89) !important;
    box-shadow: 0 0 0 3px rgba(112,27,137,.15) !important
}

.frame-type-form_formframework form .form-check-input,.frame-type-form_formframework form input[type=checkbox] {
    border-radius: 0 !important;
    border-color: rgba(12,34,81,.35) !important;
    margin-top: .3rem !important
}

.frame-type-form_formframework form .form-check-input:checked,.frame-type-form_formframework form input[type=checkbox]:checked {
    background-color: var(--rfs-purple, #701b89) !important;
    border-color: var(--rfs-purple, #701b89) !important
}

.frame-type-form_formframework form .form-check-label,.frame-type-form_formframework form .checkbox label span {
    font-size: .9375rem !important;
    font-weight: 300 !important;
    text-transform: none !important;
    letter-spacing: 0 !important
}

.frame-type-form_formframework form .form-hint,.frame-type-form_formframework form .clearfix p {
    font-size: .8125rem !important;
    color: rgba(12,34,81,.7) !important;
    margin-top: .5rem
}

.frame-type-form_formframework form .actions .btn,.frame-type-form_formframework form .actions .btn-default {
    background-color: var(--rfs-purple, #701b89);
    color: #fff;
    border: none;
    border-radius: 0;
    padding: .85rem 1.75rem;
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: background-color .2s var(--rfs-ease, ease)
}

.frame-type-form_formframework form .actions .btn:hover,.frame-type-form_formframework form .actions .btn-default:hover {
    background-color: #531367;
    color: #fff
}

.frame-type-form_formframework form input[data-id] {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important
}

@media(max-width: 767.98px) {
    .frame-type-form_formframework form .form-control,.frame-type-form_formframework form .form-select {
        font-size:1rem !important
    }
}

@media(max-width: 575.98px) {
    .frame-type-form_formframework form .actions .btn,.frame-type-form_formframework form .actions .btn-default {
        width:100% !important;
        font-size: .8125rem;
        padding: 1rem 1.25rem;
        justify-content: center;
        text-align: center
    }
}

@media(max-width: 359.98px) {
    .frame-type-form_formframework form .actions .btn,.frame-type-form_formframework form .actions .btn-default {
        font-size:.75rem;
        padding: .9rem 1rem
    }
}

form .form-floating {
    display: flex;
    flex-flow: column;
    margin-bottom: 1rem
}

form .form-floating label {
    order: -1;
    position: relative;
    top: 3px !important;
    color: #000 !important
}

form .form-floating label:after {
    display: none
}

form .form-floating .form-check {
    padding-left: 0 !important
}

form .form-floating .form-check label.add-on.form-check-label {
    display: flex;
    align-items: center;
    gap: .5rem;
    transform: unset !important;
    color: var(--rfs-navy) !important;
}

form .form-floating .form-check label.add-on.form-check-label input {
    width: 22px;
    height: 22px
}

form .form-floating  textarea {
    min-height:200px;
    overflow:auto;
}

form a:not(.btn) {
    color: var(--rfs-purple)
}

html {
    font-size: 16px
}

html body {
    font-family: "Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 300;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-300.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 400;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-regular.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 500;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-500.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 600;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-600.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 700;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-700.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 800;
    src: url("/_assets/7f230e747e80e08c9fb0972031c70a6c//assets/fonts/open_sans/open-sans-v44-latin-800.woff2") format("woff2")
}


.canvas--menu{
    display:none !important;
}

.accordion-button:not(.collapsed)::after{
    background-image:none !important;
}