:root {
    --header-height: 5rem;
    --sidebar-width: 20rem;
    --footer-height: 4rem;
    --breakpoint-small: 40rem;
    --breakpoint-medium: 50rem;
    --sky-blue: #bbd6ec;
    --blueberry: #1d63ae;
    --cerulean: #3490e8;
    --gold: #ff990a;
    --lime: #729b23;
    --violet: #80349f;
    --periwinkle: #9291ff;
    --eggshell: #fdf5e8;
    --gray-primary: #424238;
    --sand-primary: var(--eggshell);
    --blue-primary: var(--cerulean);
    --blue-secondary: var(--blueberry);
    --blue-tertiary: #151e25;
    --orange-primary: var(--gold);
    --orange-secondary: var(--gold);
    --color-info: var(--cerulean);
    --font-primary: "soleil",sans-serif!important;
    --font-secondary: "Recoleta Bold","Georgia";
    --font-secondary--med: "Recoleta Medium","Georgia";
    --dash-offset: 16900;
    @media (prefers-color-scheme: dark) {
        --color-bg:#001428;
        --color-fg: #fff;
        --color-highlight: blue;
        --color-dim: #41668970;
        --sand-primary: var(--color-bg);
        --color-base-300: var(--sand-primary)!important;
        --color-base-100: #0a253e!important
    }

    @media (prefers-color-scheme: light) {
        --color-bg:var(--sand-primary);
        --color-fg: var(--gray-primary);
        --color-highlight: blue;
        --color-dim: #42423820;
        --color-base-300: var(--sand-primary)!important;
        --color-base-content: var(--gray-primary)!important
    }
}

* {
    box-sizing: border-box;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased
}

body {
    margin: 0;
    padding: 0
}

body,html {
    background: var(--color-base-300);
    font-family: Arial,Helvetica,sans-serif;
    font-family: soleil,sans-serif!important;
    font-size: 16px;
    font-weight: 400;
    color: var(--color-base-content)!important;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 50rem) {
        font-size:14px
    }

    h1,h2,h3,h4,h5 {
        display: inline-block;
        font-family: Georgia;
        font-family: var(--font-secondary);
        font-weight: 100!important;
        line-height: 1.1;
        text-transform: unset!important;
    }

    h1 {
        font-size: 3rem
    }

    h2 {
        font-size: 2rem
    }

    h3 {
        font-size: 1.5rem
    }

    h4 {
        font-size: 1.25rem
    }

    h5 {
        font-size: 1rem
    }

    .material-symbols-outlined {
        font-weight: 600
    }
}

input[type=date],input[type=email],input[type=search],input[type=text],select,textarea {
    background: var(--sand-primary);
    border: none!important;
    @media (prefers-color-scheme: dark) {
        border-bottom-color:color-mix(in oklab,var(--color-base-content)10%,transparent)!important;
        border-bottom-color:var(--cerulean)!important;border-bottom-style: solid!important;
        border-bottom-width:1px!important;border-left-color:color-mix(in oklab,var(--color-base-content)10%,transparent)!important;border-left-color: var(--cerulean)!important;
        border-left-style:solid!important;border-left-width:1px!important;border-right-color:color-mix(in oklab,var(--color-base-content)10%,transparent)!important;border-right-color: var(--cerulean)!important;
        border-right-style:solid!important;border-right-width:1px!important;border-top-color:color-mix(in oklab,var(--color-base-content)10%,transparent)!important;border-top-color: var(--cerulean)!important;
        border-top-style:solid!important;border-top-width:1px!important;}

    @media (prefers-color-scheme: light) {
        border-bottom-color:rgba(0,0,0,.2)!important;
        border-bottom-color:var(--cerulean)!important;border-bottom-style: solid!important;
        border-bottom-width:1px!important;border-left-color:rgba(0,0,0,.2)!important;border-left-color:var(--cerulean)!important;border-left-style: solid!important;
        border-left-width:1px!important;border-right-color:rgba(0,0,0,.2)!important;border-right-color:var(--cerulean)!important;border-right-style: solid!important;
        border-right-width:1px!important;border-top-color:rgba(0,0,0,.2)!important;border-top-color:var(--cerulean)!important;border-top-style: solid!important;
        border-top-width:1px!important;}
}

.card-title {
    a {
        text-decoration: underline;
        &:hover {
            color: var(--cerulean)
        }
    }
}

textarea {
    width: 100%;
    field-sizing: content;
    height: auto;
    min-height: var(--size);
    padding: .5rem .75rem;
    resize: none;
    white-space: normal
}

.menu {
    a {
        font-weight: 800;
        &[disabled] {
            cursor: not-allowed;
            opacity: .5
        }
    }
}

.card {
    background: var(--color-base-100);
    .card-title {
        text-wrap: balance
    }

    .card-body {
        li,p,ul {
            opacity: .9
        }
    }

    figure {
        position: relative;
        img {
            filter: unset!important
        }

        &:before {
            background: #000;
            content: "";
            height: 100%;
            left: 0;
            opacity: .25;
            position: absolute;
            top: 0;
            width: 100%
        }
    }
}

.btn {
    box-shadow: none!important;
    font-size: 1rem;
    font-weight: 700;
    &:not(.btn-square) {
        height: auto!important;
        padding: .75rem 2.5rem
    }

    &.btn-primary {
        background-color: var(--blue-primary);
        background-color: var(--blue-secondary);
        border-color: var(--blue-secondary);
        &.btn-disabled {
            opacity: .5;
            @media (prefers-color-scheme: light) {
                color:#fff!important
            }
        }
    }

    &.btn-secondary {
        background-color: #fff;
        border-color: #fff;
        color: var(--blue-primary)
    }

    &.btn-info:hover {
        color: var(--color-base-content)
    }

    &[disabled] {
        cursor: not-allowed;
        opacity: .5;
    }
}

.btn,input[type=date],input[type=email],input[type=search],input[type=text],select,textarea {
    border-radius: .5rem!important;
    padding: 20px;

}

.modal {
    .modal-box {
        border-radius: 1.5rem;
        max-height: calc(100dvh - 4rem);
        max-width: none;
        padding-bottom: 0;
        padding-top: 0;
        &.s {
            max-width: 35rem;
        }
    }

    [data-modal-header] {
        align-items: center;
        background: var(--color-base-100);
        display: flex;
        justify-content: space-between;
        margin-bottom: .5rem;
        padding: 1.5rem 0 .75rem;
        position: sticky;
        top: 0;
        width: 100%;
        z-index: 2
    }

    [data-modal-footer] {
        background: var(--color-base-100);
        bottom: 0;
        padding: .75rem 0 1.5rem;
        position: sticky;
        width: 100%;
        z-index: 2;
        .modal-action {
            margin-top: 0
        }
    }
}

#app {
    display: flex;
    flex-direction: column;
    opacity: 1;
    transition: opacity .2s;
    transition-delay: 1s;
    &[data-ui-loaded=true] {
        opacity: 1
    }

    [data-builder=header] {
        align-items: center;
        background: none;
        display: flex;
        height: var(--header-height);
        justify-content: space-between;
        margin: 0 1rem;
        padding: 0 .75rem 0 1rem;
        padding: 0 .85rem 0 1.25rem!important;
        position: sticky;
        top: 0;
        width: 100%;
        z-index: 5;
        @media screen and (max-width: 50rem) {
            padding-bottom:0!important;
            padding-left:1.75rem!important;padding-right:.85rem!important;padding-top:0!important;>div:first-of-type span {
                font-size: .8rem!important;
                font-weight: 700;
                max-width: 10rem
            }
        }

        &:before {
            background: var(--color-bg);
            content: "";
            height: 100%;
            left: 0;
            opacity: .8;
            position: absolute;
            top: 0;
            width: 100%;
            z-index: -1
        }

        .logo {
            align-items: center;
            display: flex;
            margin-right: 1rem;
            width: 3.25rem;
            width: 2.8rem;
            img,svg {
                display: block;
                height: auto;
                width: 100%
            }
        }

        nav {
            align-items: center;
            display: inline-flex;
            font-size: .85rem;
            font-weight: 600;
            gap: 2ch;
            .link {
                font-weight: 800
            }

            a: first-letter,div:first-letter {
                text-transform:uppercase
            }

            [data-contextual-nav] {
                >ul {
                    gap: 1.5rem!important
                }

                @media screen and (max-width: 70rem) {
                    display:none
                }
            }
        }

        .dropdown-content {
            &.rounded-box {
                border-radius: 1.25rem!important
            }

            a {
                &: first-letter {
                    text-transform:uppercase
                }
            }
        }

        >div: first-of-type nav {
            gap:.75ch
        }

        .menu {
            padding: 0!important;
            width: 100%;
            &[data-primary-nav] {
                padding: 1rem!important;
                --menu-active-fg: var(--blue-primary)!important;
                --menu-active-bg: none!important;
                a {
                    display: inline;
                    font-family: var(--font-secondary);
                    font-size: 1.75rem;
                    font-weight: 100;
                    line-height: 1;
                    &:hover {
                        text-decoration: underline;
                        text-decoration-thickness: .05ch
                    }
                }
            }
        }
    }

    [data-builder=main] {
        display: flex;
        height: calc(100dvh - var(--header-height));
        justify-content: center;
        padding: 0 1rem 1rem;
        position: relative;
        &.full-height {
            height: 100dvh
        }

        &[data-report-view=intro] {
            align-items: center;
            [data-report=intro] {
                display: block
            }
        }

        &[data-report-view=content] {
            [data-report=content] {
                display: block
            }
        }

        &.editing-enabled {
            [data-report=content] {
                >div {
                    opacity: .5
                }
            }

            [data-builder=footer] {
                width: calc(100dvw - var(--sidebar-width))!important
            }
        }
    }

    [data-builder=sidebar] {
        height: calc(100dvh - var(--header-height));
        height: 100dvh;
        max-width: var(--sidebar-width);
        overflow: auto;
        padding: 0 1rem 1rem .5rem;
        width: 100%;
        .menu {
            padding: 1rem;
            width: auto;
            a {
                text-decoration: underline
            }
        }

        .divider {
            margin: 0 0 1rem
        }

        .card-body {
            padding: 0 1.75rem 1.75rem
        }

        textarea {
            min-height: 5rem
        }
    }

    [data-position=left] {
        order: 2;
        padding: 0 .5rem 1rem 1rem
    }

    [data-position=right] {
        order: 3;
        padding: .5rem
    }

    [data-builder=footer] {
        align-items: end;
        bottom: 0;
        display: flex;
        justify-content: center;
        padding: 0 1rem 1.5rem;
        position: fixed;
        transition: transform .2s ease-in-out;
        width: 100%;
        z-index: 1;
        &.hidden {
            transform: translate3d(0,105%,0);
            transition-delay: .25s
        }

        &:before {
            background: var(--color-base-300);
            content: "";
            height: 100%;
            left: 0;
            opacity: 0;
            position: absolute;
            top: 0;
            width: 100%
        }

        >div {
            box-shadow: 0 2rem 0 var(--color-base-300);
            margin: 0 auto;
            max-width: 53.25rem;
            position: relative;
            width: 100%;
            z-index: 1
        }

        &.chat-visible {
            height: calc(100dvh - var(--header-height));
            transition: background .2s ease-in-out;
            &:before {
                opacity: .7
            }
        }
    }

    [data-builder=main],[data-builder=sidebar] {
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    [data-builder=main]: :-webkit-scrollbar,[data-builder=sidebar]::-webkit-scrollbar {
        display:none
    }

    @media screen and (max-width: 50rem) {
        display:block;
        [data-builder=main],[data-builder=sidebar] {
            height: auto;
            max-width: none;
            overflow: visible;
            padding: 1rem 1rem 0;
            width: 100%;
            @media screen and (max-width: 50rem) {
                padding-bottom:0;
                padding-left:1rem;padding-right:1rem;padding-top:0}
        }

        [data-builder=sidebar] {
            padding-bottom: .5rem
        }

        [data-builder=header] {
            margin: 0;
            padding: 0 1rem
        }
    }
}

main[role=main] {
    overflow: hidden;
    position: relative;
    h1 {
        font-size: 3rem
    }

    [data-content] {
        h1,h2,h3,h4,h5 {
            margin-bottom: .5rem
        }

        a {
            text-decoration: underline
        }

        .container {
            @media screen and (max-width: 50rem) {
                flex-direction:column;
                >div {
                    width: 100%!important;
                    &:nth-of-type(2) {
                        margin-top: 2rem!important;
                        position: static!important
                    }
                }
            }
        }
    }
}

.container {
    max-width: 66rem;
    @media screen and (max-width: 76rem) {
        padding-left:2rem;
        padding-right:2rem}
}

[data-hero] {
    text-wrap: balance;
    h1 {
        font-size: 4.5rem!important;
        text-wrap: balance;
        @media (prefers-color-scheme: light) {
            color:var(--blue-primary)!important
        }

        @media screen and (max-width: 50rem) {
            font-size:3rem!important
        }
    }

    [data-hero-actions] {
        align-items: center;
        display: flex;
        gap: 1rem;
        margin-top: 1rem
    }

    &[data-hero="1"] {
        text-align: center;
        [data-hero-actions] {
            justify-content: center
        }
    }

    &[data-hero="2"],&[data-hero="3"] {
        align-items: center;
        background: hsla(0,0%,100%,.1);
        display: flex;
        min-height: 25rem;
        h1,p {
            color: #fff!important
        }

        .container {
            align-items: center;
            display: flex;
            justify-content: space-between;
            >div {
                max-width: 50%;
                width: 100%;
                @media screen and (max-width: 50rem) {
                    max-width:none
                }
            }
        }
    }

    &[data-hero="3"] {
        position: relative;
        &:before {
            aspect-ratio: 1;
            background: var(--blue-secondary)!important;
            border-radius: 100%;
            content: "";
            left: 50%;
            position: absolute;
            top: 0;
            transform: translate3d(-95%,-25%,0);
            width: 100rem;
            z-index: 1
        }

        .container>div {
            position: relative;
            z-index: 1
        }
    }
}

[data-cards] {
    .container {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
        justify-content: center;
        max-width: 76rem
    }

    .card {
        aspect-ratio: 1;
        background: var(--color-base-100)!important;
        border-radius: 1.5rem;
        overflow: hidden;
        position: relative;
        width: calc(30% - 1rem);
        @media screen and (max-width: 65rem) {
            width:calc(47% - 1rem)
        }

        @media screen and (max-width: 40rem) {
            aspect-ratio:1.5!important;
            width:100%!important}

        .btn {
            padding: .5rem 1rem!important
        }

        &:first-of-type {
            order: 1
        }

        &:nth-of-type(2) {
            order: 2
        }

        &:nth-of-type(3) {
            order: 4
        }

        &:nth-of-type(4) {
            order: 6
        }

        &:nth-of-type(5) {
            order: 8
        }

        &:nth-of-type(6) {
            order: 3
        }

        &:nth-of-type(7) {
            order: 10
        }

        &:nth-of-type(8) {
            order: 5
        }

        &:nth-of-type(9) {
            order: 7
        }

        &:nth-of-type(10) {
            order: 9
        }

        &:nth-of-type(11) {
            order: 11
        }

        &:nth-of-type(12) {
            order: 12
        }

        &:nth-of-type(13) {
            order: 13
        }
    }

    .card-title {
        font-size: 1.8rem;
        font-weight: 600;
        margin-bottom: .5rem
    }
}

[data-footer] {
    padding: 1.5rem 1rem;
    .container {
        align-items: center;
        display: flex;
        justify-content: space-between;
        max-width: 75rem;
        >div {
            width: calc(30% - 1rem)
        }
    }

    :not(.material-symbols-outlined) {
        color: #fff!important
    }
}

[data-hero-slider] {
    padding: 8rem 0 6rem;
    .container {
        align-items: center;
        display: flex;
        gap: 4rem;
        max-width: 76rem
    }

    .hero-slider__content {
        flex: 1 1 60%
    }

    .hero-slider__content h1 {
        color: var(--blue-primary);
        font-size: 4rem;
        margin-bottom: 1.2rem
    }

    .hero-slider__description {
        max-width: 82%;
        p {
            font-size: clamp(1rem,1.15vw + .75rem,1.15rem);
            line-height: 1.4;
            margin-bottom: 1.2rem
        }
    }

    .hero-slider__visual {
        position: relative;
        width: 60%
    }

    .slide {
        display: grid;
        gap: 3%;
        grid-auto-rows: 1fr;
        grid-template-columns: repeat(2,1fr);
        height: 800px;
        inset: 0;
        opacity: 0;
        place-items: center;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 0;
        &.is-active {
            opacity: 1;
            z-index: 1
        }
    }

    .hero-slider__circle {
        aspect-ratio: 1/1;
        border-radius: 50%;
        overflow: hidden;
        position: relative;
        width: 100%
    }

    .layer {
        display: block;
        inset: 0;
        position: absolute;
        will-change: transform
    }

    .layer,.layer.image {
        height: 100%;
        width: 100%
    }

    .layer.image {
        background-size: cover;
        object-fit: cover
    }

    .slide .hero-slider__circle:nth-child(3),.slide .hero-slider__circle:nth-child(4) {
        margin-bottom: -12%;
        margin-left: 100%;
        margin-top: -12%
    }
}

[data-two-column-content] {
    margin-top: 13rem;
    @media screen and (max-width: 50rem) {
        font-size:1.3rem;
        margin-bottom:0;margin-top:4rem}

    .container {
        display: flex;
        gap: 14rem;
        margin: 0 auto;
        max-width: 76rem;
        @media screen and (max-width: 50rem) {
            flex-direction:column;
            gap:2rem}
    }

    .two-column-content__column {
        flex-basis: 50%
    }
}

main[role=main] {
    h1 {
        font-size: 3rem
    }
}

.container {
    margin: 0 auto;
    max-width: 60rem;
    width: 100%
}

.circle {
    aspect-ratio: 1/1;
    background-position: 50%;
    background-size: cover;
    border-radius: 50%;
    width: 100%
}

[data-hero] {
    margin-bottom: 2rem;
    overflow: hidden;
    padding: 4rem 1rem;
    position: relative;
    h1 {
        font-size: 3.5rem!important;
        text-wrap: balance;
        @media (prefers-color-scheme: light) {
            color:var(--blue-primary)!important
        }
    }

    [data-hero-actions] {
        align-items: center;
        display: flex;
        gap: 1rem;
        margin-top: 1rem
    }

    &[data-hero="1"] {
        padding: 4rem 1rem 1rem;
        text-align: center;
        [data-hero-actions] {
            justify-content: center
        }
    }

    &[data-hero="2"],&[data-hero="3"] {
        align-items: center;
        background: hsla(0,0%,100%,.1);
        display: flex;
        min-height: 25rem;
        padding: 4rem 1rem;
        h1,p {
            color: #fff!important
        }

        .container {
            align-items: center;
            display: flex;
            justify-content: space-between;
            >div {
                max-width: 50%;
                width: 100%;
                @media screen and (max-width: 50rem) {
                    max-width:none
                }
            }
        }
    }

    &[data-hero="3"] {
        position: relative;
        &:before {
            aspect-ratio: 1;
            background: var(--blue-secondary);
            border-radius: 100%;
            content: "";
            left: 50%;
            position: absolute;
            top: 0;
            transform: translate3d(-95%,-25%,0);
            width: 100rem
        }

        .container>div {
            position: relative;
            z-index: 1
        }
    }
}

[data-cards] {
    .container {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
        justify-content: center;
        max-width: 76rem
    }

    .card {
        aspect-ratio: 1;
        border-radius: 1.5rem;
        width: calc(30% - 1rem);
        @media screen and (max-width: 65rem) {
            width:calc(47% - 1rem)
        }

        @media screen and (max-width: 40rem) {
            aspect-ratio:1.5!important;
            width:100%!important}
    }

    .card-title {
        font-size: 1.8rem;
        font-weight: 600;
        margin-bottom: .5rem
    }
}

[data-footer] {
    background: var(--blueberry);
    font-size: .9rem;
    margin-top: 4rem;
    padding: 5rem 0 2rem!important;
    position: relative;
    z-index: 2;
    .container {
        align-items: start;
        display: flex;
        justify-content: space-between;
        max-width: 75rem;
        &:nth-of-type(2) {
            border-top: .15rem solid hsla(0,0%,100%,.2)
        }

        >div {
            width: 25%;
            &:nth-of-type(2) {
                flex-grow: 1;
                padding: 0 1.5rem;
                width: auto
            }

            &:nth-of-type(3) {
                p {
                    margin-bottom: 1rem;
                    padding-left: 2rem;
                    position: relative;
                    .material-symbols-outlined {
                        color: var(--gold);
                        font-variation-settings: "FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;
                        left: 0;
                        position: absolute
                    }
                }
            }
        }

        @media screen and (max-width: 50rem) {
            flex-direction:column;
            gap:2rem;>div {
                padding: 0!important;
                width: 100%!important
            }
        }
    }

    h3,h4,h5,h6 {
        font-family: var(--font-primary);
        font-weight: 700!important;
        &:after {
            background-color: var(--gold);
            content: "";
            display: block;
            height: .3rem;
            margin: 1rem 0 2rem;
            width: 2rem
        }
    }

    ol {
        display: block;
        @media screen and (min-width: 50rem) {
            column-count:2
        }

        li {
            margin-bottom: .75rem;
            text-wrap: balance;
            a: hover {
                cursor:pointer;
                text-decoration: underline
            }
        }
    }

    svg {
        max-width: 13rem;
        width: 100%;
        .st0,.st1 {
            fill: #fff
        }
    }

    img {
        max-width: 13rem!important;
        width: 100%
    }
}

.homepage-sections {
    .animated-line {
        left: 50%;
        max-width: 100%;
        position: absolute;
        stroke-dasharray: 16900;
        stroke-dashoffset: 16900;
        stroke-dashoffset: var(--dash-offset);
        transform: translate(-50%,-7rem);
        transition: stroke-dashoffset 0s;
        width: 100%;
        z-index: 0
    }

    .line {
        stroke-dasharray: 26000;
        stroke-dashoffset: 49615;
        transition: all 3s;
        path {
            stroke: #b4d7f6
        }

        &.in-view {
            opacity: 1;
            stroke-dashoffset: 52000
        }
    }

    .container {
        max-width: 76rem
    }
}

[data-two-column-content] {
    background: var(--sand-primary);
    font-family: var(--font-secondary--med);
    font-size: 1.6rem;
    line-height: 1.75;
    margin-bottom: 5rem;
    margin-top: 7rem;
    @media screen and (max-width: 50rem) {
        font-size:1.3rem;
        margin-bottom:0;margin-top:4rem}

    .container {
        display: flex;
        gap: 14rem;
        margin: 0 auto;
        max-width: 76rem;
        @media screen and (max-width: 50rem) {
            flex-direction:column;
            gap:2rem}
    }

    .two-column-content__column {
        flex-basis: 50%;
        @media screen and (max-width: 50rem) {
            flex-basis:100%
        }
    }
}

[data-circle-grid] {
    @media screen and (max-width: 50rem) {
        margin-top:0
    }

    >.container {
        position: relative;
        z-index: 2
    }

    [data-btn-group] {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1.65rem;
        >.btn {
            text-wrap: pretty;
            width: fit-content
        }
    }

    &.circle-grid--0 {
        .circle-grid__bg-image {
            transform: translateX(5%)
        }

        .circle-headline__svg {
            transform: rotate(50deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dashoffset: -.51;
            transform: rotate(150deg) rotateY(180deg) scale(.9451)
        }

        .line {
            transform: translate3d(-50%,-50%,0) rotateY(180deg)
        }

        @media screen and (max-width: 50rem) {
            header {
                gap:0!important
            }

            .circle-grid__image-with-text {
                width: 60%!important
            }

            .circle-grid__content {
                width: 100%!important
            }

            .line {
                margin-top: -3rem!important
            }
        }
    }

    &.circle-grid--1 {
        .circle-headline__svg {
            transform: rotate(36deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dashoffset: -.51;
            transform: rotate(185deg) rotateY(180deg) scale(.9451)
        }
    }

    &.circle-grid--2 {
        .circle-grid__bg-image {
            transform: translateX(5%)
        }

        .circle-headline__svg {
            transform: rotate(50deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dashoffset: -.51;
            transform: rotate(150deg) rotateY(180deg) scale(.9451)
        }

        .line {
            transform: translate3d(-50%,-50%,0) rotateY(180deg)
        }
    }

    &.circle-grid--3 {
        .circle-headline__svg {
            transform: rotate(10deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dashoffset: -.51;
            transform: rotate(198deg) rotateY(180deg) scale(.9451)
        }

        .circle-grid__bg-image {
            transform: translateX(-20%);
            top: 20%;
        }
    }

    &.circle-grid--4 {
        .circle-headline__svg {
            transform: rotate(67deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dasharray: 2;
            stroke-dashoffset: -.51;
            transform: rotate(116deg) rotateY(180deg) scale(.9451)
        }

        .circle-grid__bg-image {
            transform: translateX(40%)
        }

        .line {
            transform: translate3d(-50%,-50%,0) rotateY(180deg)
        }
    }

    &.circle-grid--5 {
        .circle-headline__svg {
            transform: rotate(43deg)!important
        }

        .circle-grid__image-with-text .ring {
            stroke-dashoffset: -.51;
            transform: rotate(155deg) rotateY(180deg) scale(.9451)
        }

        .circle-grid__bg-image {
            transform: translateX(-29%) rotateY(180deg);
            top: 20%;
        }
    }

    .circle {
        overflow: hidden;
        img {
            height: 100%;
            object-fit: cover;
            object-position: center;
            width: 100%
        }
    }

    header {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        justify-content: space-between;
        position: relative;
        &.reverse {
            flex-direction: row-reverse;
            .circle-grid__bg-image {
                left: unset;
                right: 10%;
                top: 20%;
            }
        }

        @media screen and (max-width: 50rem) {
            flex-direction:column-reverse;
            gap:2rem;&.reverse {
                flex-direction: column-reverse
            }
        }
    }

    .circle-grid__bg-image {
        bottom: 0;
        top: 70%;
        height: 100%;
        left: 10%;
        max-height: 80vh;
        opacity: 0;
        position: fixed;
        transition: all .6s;
        visibility: hidden;
        width: auto;
        z-index: 0
    }

    &.active {
        .circle-grid__bg-image {
            opacity: 1;
            visibility: visible;
            @media (prefers-color-scheme: dark) {
                opacity:.1!important
            }
        }

        &.circle-grid--2 {
            .circle-grid__bg-image {
                @media (prefers-color-scheme: dark) {
                    opacity:.45!important
                }
            }
        }
    }

    .circle-grid__content {
        width: 45%;
        z-index: 1;
        @media screen and (max-width: 50rem) {
            width:100%
        }

        p {
            line-height: 1.8;
            margin-bottom: 1rem;
            text-wrap: pretty;
            &:first-of-type {
                font-family: var(--font-secondary)!important;
                font-size: 1.2rem!important;
                font-weight: 100!important;
                line-height: 1.5!important
            }
        }
    }

    .circle-grid__image-with-text {
        align-items: center;
        aspect-ratio: 1/1;
        border-radius: 100%;
        display: flex;
        justify-content: center;
        position: relative;
        width: 51%;
        z-index: 1;
        @media screen and (max-width: 50rem) {
            width:100%
        }

        .circle {
            left: 50%;
            max-width: 73%;
            overflow: hidden;
            position: absolute;
            top: 50%;
            transform: translate(-50%,-50%);
            @media screen and (max-width: 50rem) {
                background:none!important;
                box-shadow:none!important}
        }

        .circle-headline {
            margin: 0 auto;
            position: relative;
            @media screen and (max-width: 50rem) {
                width:100%
            }
        }

        .circle-headline__svg {
            height: 100%;
            overflow: visible;
            transform: rotate(30deg);
            width: 100%
        }

        .headline {
            fill: rgba(52, 144, 232, 1.0);
            font-family: var(--font-secondary)!important;
            font-size: 350%;
            font-weight: 100!important;
            letter-spacing: .05rem;
            transform-origin: center;
            @media screen and (max-width: 50rem) {
                font-size:400%
            }
        }

        .bullet {
            fill: #ff990a
        }

        .ring {
            animation: draw-ccw 1.25s ease reverse forwards;
            animation-play-state: paused;
            fill: none;
            opacity: 0;
            stroke: #b4d7f6;
            stroke-dasharray: 1;
            stroke-dashoffset: -.48;
            stroke-width: 8;
            transform: rotate(175deg) scale(.9451);
            transform-origin: 50% 50%
        }

        .circle-headline.in-view .ring {
            animation-play-state: running;
            opacity: 1
        }
    }

    .circle-grid__staggered-circles {
        align-items: flex-start;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto;
        max-width: 70rem;
        padding: 4rem 1rem;
        position: relative;
        z-index: 3;
        @media screen and (max-width: 50rem) {
            aspect-ratio:.9
        }

        .circle {
            color: #fff;
            font-family: var(--font-secondary--med);
            font-weight: 100;
            max-width: 30%;
            position: relative;
            z-index: 1;
            strong {
                display: block;
                font-size: 300%;
                font-weight: 100;
                line-height: 1;
                @media screen and (max-width: 50rem) {
                    font-size:200%!important
                }
            }

            span {
                display: block;
                font-size: 1.5rem;
                left: 50%;
                line-height: 1.3;
                padding: 2.5rem 1.5rem;
                position: absolute;
                text-align: center;
                top: 50%;
                transform: translate(-50%,-50%);
                width: 100%;
                @media screen and (max-width: 50rem) {
                    font-size:1.2rem!important
                }
            }
        }

        &.grid-1,&.grid-3 {
            .circle:first-child {
                margin-left: 20%;
                margin-right: 15%;
                max-width: 20%
            }

            .circle:nth-child(3) {
                margin-right: 10%
            }

            .circle:nth-child(4) {
                margin-top: 6rem
            }
        }

        &.grid-3 {
            .circle:nth-child(3) {
                left: -4%;
                position: relative;
                top: -2rem
            }
        }

        &.grid-2 {
            .circle:not(:nth-child(2)) {
                max-width: 22%;
                @media screen and (max-width: 50rem) {
                    max-width:15%
                }
            }

            .circle:nth-child(2) {
                margin-top: 15%
            }

            .circle:nth-child(3) {
                margin-left: 5%;
                margin-right: -20%;
                span {
                    font-size: 1.2rem
                }
            }

            .circle:nth-child(4) {
                margin-top: 30%
            }
        }

        &.grid-4 {
            .circle:first-child {
                left: 10%;
                position: relative
            }

            .circle:nth-child(2) {
                left: -11rem;
                margin-left: -10%;
                margin-top: 41%;
                max-width: 20%
            }

            .circle:nth-child(3) {
                left: 5%;
                margin-left: 5%;
                margin-top: 20%;
                max-width: 30%;
                position: relative
            }

            .circle:nth-child(4) {
                max-width: 25%
            }
        }

        .circle {
            @media screen and (max-width: 50rem) {
                left:50%!important;
                margin-bottom:0!important;margin-left:0!important;margin-right:0!important;margin-top:0!important;max-width:45%!important;position:absolute!important;top:50%!important;transform:translate(-50%,-50%)!important;span {
                    font-size: 1rem!important
                }
            }
        }

        @media screen and (max-width: 50rem) {
            &.grid-1 {
                .circle:first-child {
                    transform:scale(.6) translate(-154%,-144%)!important
                }

                .circle:nth-child(2) {
                    transform: translate(-1%,-95%)!important
                }

                .circle:nth-child(3) {
                    transform: translate(-95%,10%)!important
                }

                .circle:nth-child(4) {
                    transform: scale(.7) translate(1%,10%)!important
                }
            }

            &.grid-2 {
                .circle:first-child {
                    transform: scale(.6) translate(-154%,-144%)!important
                }

                .circle:nth-child(2) {
                    transform: translate(-1%,-95%)!important
                }

                .circle:nth-child(3) {
                    transform: translate(-95%,10%)!important
                }

                .circle:nth-child(4) {
                    transform: scale(.7) translate(1%,10%)!important
                }
            }

            &.grid-3 {
                .circle:first-child {
                    transform: scale(.6) translate(-154%,-144%)!important
                }

                .circle:nth-child(2) {
                    transform: translate(-1%,-95%)!important
                }

                .circle:nth-child(3) {
                    transform: translate(-95%,10%)!important
                }

                .circle:nth-child(4) {
                    transform: scale(.7) translate(1%,10%)!important
                }
            }

            &.grid-4 {
                .circle:first-child {
                    transform: translate(-1%,-95%)!important
                }

                .circle:nth-child(2) {
                    transform: scale(.6) translate(-154%,-144%)!important
                }

                .circle:nth-child(3) {
                    transform: translate(-95%,10%)!important;
                    span {
                        font-size: .9rem!important
                    }
                }

                .circle:nth-child(4) {
                    transform: scale(.7) translate(1%,10%)!important
                }
            }
        }
    }
}

[data-featured-articles] {
    position: relative;
    @media screen and (max-width: 50rem) {
        flex-direction:column;
        gap:1.5rem!important}

    .container {
        max-width: 76rem;
        padding: 3rem 0 0;
        @media screen and (max-width: 50rem) {
            padding-bottom:0;
            padding-left:2rem;padding-right:2rem;padding-top:5rem}
    }

    .featured-articles__cards {
        @media screen and (max-width: 50rem) {
            flex-direction:column;
            gap:1.5rem!important}
    }

    .featured-articles__section-title {
        font-size: 4rem;
        margin-bottom: 2rem;
        max-width: 50%;
        @media screen and (max-width: 50rem) {
            font-size:2.5rem;
            max-width:20rem}
    }

    .card {
        border-radius: 1.5rem;
        width: 50%;
        @media screen and (max-width: 50rem) {
            width:100%
        }
    }

    .card-body {
        display: flex;
        flex-direction: column;
        justify-content: space-between
    }

    .card-title {
        color: #fff;
        font-size: 3rem;
        @media screen and (max-width: 50rem) {
            font-size:2rem
        }
    }
}

[data-animate] {
    visibility: hidden
}

[data-animate-children] {
    visibility: visible;
    >* {
        visibility: hidden
    }
}

[data-scale-children] {
    >* {
        transform: scale(.9)
    }
}

@keyframes draw-ccw {
    to {
        stroke-dashoffset: -1
    }
}

section#hero {
    position: relative;
    top: -2rem;
    z-index: 1;
    @media screen and (max-width: 50rem) {
        top:0
    }

    >.container {
        align-items: center;
        display: flex;
        gap: 10rem;
        max-width: 76rem;
        @media screen and (max-width: 50rem) {
            display:block
        }

        h1 {
            color: var(--cerulean);
            font-size: 3rem;
            font-weight: 900;
            line-height: 1.05;
            margin-bottom: .5ch;
            opacity: 0;
            text-wrap: balance;
            transform: translate3d(0,-2rem,0) scale(1.1);
            transition: all .8s;
            transition-delay: 1.2s;
            @media screen and (max-width: 50rem) {
                font-size:1.5rem;
                margin-bottom:10rem;max-width:15rem}
        }

        p {
            line-height: 1.75;
            max-width: 30rem;
            opacity: 0;
            transform: translate3d(0,2rem,0) scale(1.1);
            transition: all .8s;
            transition-delay: 1.4s;
        }

        >div {
            &: first-of-type {
                width:45%;
                @media screen and (max-width: 50rem) {
                    padding-top:7rem;
                    position:relative;width:100%;z-index:1}
            }

            &:nth-of-type(2) {
                margin-left: -2rem;
                transform: scale(1.3);
                width: 40%;
                @media screen and (max-width: 50rem) {
                    position:absolute;
                    right:-6rem;top:-13rem;transform:scale(.6)!important;width:100%;width:30.25rem}
            }
        }
    }

    &.active {
        h1,p {
            opacity: 1;
            transform: translateZ(0) scale(1)
        }
    }
}

section#community-voices {
    padding: 4rem 0 2rem;
    text-align: center;
    @media screen and (max-width: 50rem) {
        padding-bottom:5rem;
        padding-bottom:0!important;padding-left:0;padding-left:0!important;padding-right:0;padding-right:0!important;padding-top:9rem;padding-top:4rem!important}

    h2 {
        color: var(--cerulean)
    }

    blockquote {
        color: var(--cerulean);
        font-size: 1.8rem;
        font-style: italic;
        margin: 1rem auto 0;
        max-width: 51rem;
        &:before {
            content: "\201C";
            font-family: var(--font-secondary);
            left: -1ch;
            position: absolute;
            top: .15ch
        }

        @media screen and (max-width: 50rem) {
            font-size:1.3rem
        }
    }
}

blockquote {
    position: relative;
  }
  
  blockquote::before {
    content: "\201C";
    font-family: var(--font-secondary);
    position: absolute;
    left: -0.5ch;
    top: .15ch;
  }
  
  blockquote::after {
    content: "\201D";
    font-family: var(--font-secondary);
    margin-left: -0.5ch;
  }

[data-circle-container] {
    align-items: center;
    animation: scale-2 20s forwards,fade-in 1s 2.7s forwards;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    left: -10%;
    opacity: 0;
    position: relative;
    &[data-circle-container="2"] {
        margin: -1rem 0;
        transform: translate3d(25%,0,0)
    }
}

.line {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%,-50%,10px);
    width: 100%;
    width: 90%;
    @media screen and (max-width: 50rem) {
        transform:translate3d(-50%,-50%,10px) rotate(-16deg);
        width:150%!important}
}

.dot {
    align-items: center;
    animation: scale 20s forwards;
    aspect-ratio: 1;
    border-radius: 100%;
    display: flex;
    width: calc(50% - 1rem);
    .photo {
        aspect-ratio: 1;
        border-radius: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    &:nth-of-type(4),&:nth-of-type(5) {
        top: 2rem
    }

    &:first-of-type,&:nth-of-type(3) {
        left: 25%
    }

    &:nth-of-type(2),&:nth-of-type(6) {
        top: -2rem
    }
}

.dot {
    background: var(--color);
    overflow: hidden;
    position: relative
}

.dot .photo {
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .6s ease;
    will-change: opacity
}

.dot.show-color .photo {
    opacity: 0
}

.dot.show-s1 .photo:first-child {
    opacity: 1
}

.dot.show-s1 .photo:last-child,.dot.show-s2 .photo:first-child {
    opacity: 0
}

.dot.show-s2 .photo:last-child {
    opacity: 1
}


.hs-richtext.hs-main-font-element {
    p {
        font-family: var(--font-secondary--med)!important;
        font-size: 1.4rem;
        text-align: center
    }
}

.hs-error-msg {
    display: inline-block;
    font-size: .85rem;
    opacity: .9;
    text-wrap: pretty
}

.hs-form-field {
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.hs-input {
    width: 100%!important
}

input.hs-button.primary.large {
    background: var(--cerulean);
    border-radius: .75rem;
    display: block;
    margin: 0 auto!important;
    max-width: 10rem;
    padding: .75rem 1.5rem;
    text-align: center;
    width: 100%
}

.social-links {
    .btn {
        background-color: var(--gold);
        border-color: var(--gold);
        border-radius: 100rem!important;
        img {
            display: block;
            height: 100%;
            max-height: 1.1rem!important;
            width: auto!important
        }
    }
}

.xcard {
    border: none!important;
    box-shadow: none!important
}

.circle-grid__staggered-circles span {
    text-wrap: pretty
}

@keyframes scale {
    0% {
        transform: scale(1.05)
    }

    to {
        transform: scale(.96)
    }
}

@keyframes scale-2 {
    0% {
        transform: scale(.8)
    }

    to {
        transform: scale(.9)
    }
}

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

    to {
        opacity: 1
    }
}

@view-transition {
    navigation: auto
}

:root {
    view-transition-name: page
}

::view-transition-new(page),::view-transition-old(page) {
    animation-duration: .22s;
    animation-timing-function: ease
}

@media (prefers-reduced-motion:reduce) {
    ::view-transition-group(*),::view-transition-new(*),::view-transition-old(*) {
        animation: none!important
    }
}

/* module.css */

/* Hide elements with data-animate until they're in view */
[data-animate] {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out, visibility 0.6s;
  }
  
  /* Fade up animation */
  [data-animate="fade-up"] {
    transform: translateY(30px);
  }
  
  [data-animate="fade-up"].in-view {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  /* Fade in animation */
  [data-animate="fade-in"] {
    transform: none;
  }
  
  [data-animate="fade-in"].in-view {
    opacity: 1;
    visibility: visible;
  }
  
  /* Scale in animation */
  [data-animate="scale-in"] {
    transform: scale(0.8);
  }
  
  [data-animate="scale-in"].in-view {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  
  /* Handle animation delays */
  [data-delay="0.2"] {
    transition-delay: 0.2s;
  }
  
  [data-delay="0.3"] {
    transition-delay: 0.3s;
  }
  
  [data-delay="0.4"] {
    transition-delay: 0.4s;
  }
  
  [data-delay="0.45"] {
    transition-delay: 0.45s;
  }
  
  /* Animate children - when parent gets in-view, children animate with stagger */
  [data-animate-children].in-view > * {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  [data-animate-children] > * {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out, visibility 0.5s;
  }
  
  [data-animate-children] > *:nth-child(1) { transition-delay: 0s; }
  [data-animate-children] > *:nth-child(2) { transition-delay: 0.1s; }
  [data-animate-children] > *:nth-child(3) { transition-delay: 0.2s; }
  [data-animate-children] > *:nth-child(4) { transition-delay: 0.3s; }
  [data-animate-children] > *:nth-child(5) { transition-delay: 0.4s; }
  
  /* Elements that should be visible immediately */
  .in-view {
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  /* Line animation */
  .line {
    opacity: 0;
    transition: opacity 0.8s ease-out;
  }
  
  .line.in-view {
    opacity: 1;
  }

  @font-face {
    font-family: "Recoleta Bold";
    src: url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.eot");
    src: url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/f4d849075c9b4c0047fc56a828879854.svg#Recoleta%20Bold")format("svg");
}

@font-face {
    font-family: "Recoleta Medium";
    src: url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.eot");
    src: url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/09167ab604ebbfb1e7b6328321baf783.svg#Recoleta%20Medium")format("svg");
}


@font-face {
    font-family: "Recoleta Bold";
    src: url('https://50295765.hs-sites.com/hubfs/raw_assets/public/cjpcs/fonts/RecoletaBold/font.woff2') format('woff2'), url('https://50295765.hs-sites.com/hubfs/raw_assets/public/cjpcs/fonts/webFonts/RecoletaBold/font.woff') format('woff');
    
}
@font-face {
    font-family: "Recoleta Medium";
    src: url('https://50295765.hs-sites.com/hubfs/raw_assets/public/cjpcs/fonts/fonts/RecoletaMedium/font.woff2') format('woff2'), url('webFonts/RecoletaMedium/font.woff') format('woff');
}

@import url('https://fonts.cdnfonts.com/css/soleil');

html body p {
    font-family: "Soleil", sans-serif !important;
  }