.wf-force-outline-none[tabindex="-1"]:focus {
    outline: none;
}


/* Lenis */
html, body {
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.page-transition {
    display: block;
}


/* Make text look crisper and more legible in all browsers */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
    margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext > :last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
    margin-bottom: 0 !important;
}


/* Make sure containers never lose their center alignment */
.container-medium, .container-small, .container-large {
    margin-right: auto !important;
    margin-left: auto !important;
}

/*
Make the following elements inherit typography styles from the parent and not have hardcoded values.
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* These classes are never overwritten */
.hide {
    display: none !important;
}

[data="hidden"] {
    display: none;
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .hide-mobile-landscape {
        display: none !important;
    }
}

@media screen and (max-width: 479px) {
    .hide-mobile {
        display: none !important;
    }
}

.margin-0 {
    margin: 0rem !important;
}

.padding-0 {
    padding: 0rem !important;
}

.spacing-clean {
    padding: 0rem !important;
    margin: 0rem !important;
}

.margin-top {
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-top {
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-right {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-right {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-bottom {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-bottom {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.margin-left {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-left {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-horizontal {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-horizontal {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-vertical {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-vertical {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

/* Additional styling */


/* Rich text */
.text-rich-text li {
    margin-bottom: 1rem;
    padding-left: 1rem;
}


/* Button */
.button:hover .button_arrow {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.5rem;
}

.button:hover .button_arrow.is-small {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.5rem;
}

.button:hover .button_circle {
    width: 0;
    height: 0;
    margin-right: 0;
}

.text-link:hover .text-link_hover-underline {
    transform: scaleX(1);
}

.text-link:hover .text-link_icon {
    transform: translateY(-0.125rem);
}


/* Hero Nav padding */
[section="hero"] {
    padding-top: 6.3rem;
}

@media (max-width: 991px) {
    [section="hero"] {
        padding-top: 5.75rem;
    }
}


/* Hero Heading padding */
[hero-padding="heading"] {
    padding-top: 7.5rem;
}

@media (max-width: 991px) {
    [hero-padding="heading"] {
        padding-top: 3rem;
    }
}


/* Featured Blog line-clamp */
.featured-blog-item_wrapper p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4;
    max-height: calc(1.6rem * 4);
}

.featured-blog-item_wrapper h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    max-height: calc(1.6rem * 2);
}


/* Form input */
input:focus::placeholder,
textarea:focus::placeholder {
    opacity: 0;
}

textarea {
    resize: none;
}

.button:has([arrow-hidden="true"]) .button_icon {
    display: none;
}

.of-x-hidden {
    overflow-x: hidden !important;
}

.text-rich-text h1,
.text-rich-text h2,
.text-rich-text h3,
.text-rich-text h4,
.text-rich-text h5,
.text-rich-text h6 {
    color: var(--base-color-neutral--neutral-0);
}

@media (max-width: 991px) {
    [ofx-mobile-hidden="true"] {
        overflow-x: hidden;
    }
}


/* Padding calc */
.navbar {
    width: calc(100% - 14rem);
}

@media (max-width: 991px) {
    .navbar {
        width: calc(100% - 2rem);
    }
}


/* Mobile menu open/close */
.navbar_checkbox {
    appearance: none;
    border: none !important;
}

.navbar_checkbox:focus {
    border: none !important;
}

.navbar_wrapper:has(.navbar_checkbox:checked) .navbar_mobile_menu {
    transform: translateX(0%);
}

.navbar_wrapper:has(.navbar_checkbox:checked) [navbar-icon="close"] {
    opacity: 1;
}

.navbar_wrapper:has(.navbar_checkbox:checked) [navbar-icon="open"] {
    opacity: 0;
}

[navbar-icon="close"] {
    opacity: 0;
}

.navbar_link.is-button:hover .navbar_link_hover {
    opacity: 1;
}


.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_content {
    grid-template-rows: 1fr;
    border-color: var(--base-color-brand--dark-purple);
}

.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_icon {
    transform: rotateZ(0deg);
}

.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_toggle {
    color: var(--base-color-neutral--neutral-0);
}


.navbar_component:has(.navbar_dropdown_checkbox:checked) .navbar_dropdown_component {
    height: 9.5rem;
}

.navbar_dropdown_wrapper:hover .navbar_link {
    background-color: rgba(255, 255, 255, 0.1);
}

.navbar_dropdown_wrapper:has(.navbar_dropdown_checkbox:checked) .navbar_link {
    background-color: rgba(255, 255, 255, 0.1);
}

.navbar_dropdown_wrapper:has(.navbar_dropdown_checkbox:checked) .navbar_dropdown_chevron {
    transform: rotateZ(180deg);
}


.home_hero_cta-image-list:first-child {
    margin-left: 0;
}


@media (min-width: 992px) {
    .tab-card_checkbox {
        appearance: none;
        border: none !important;
    }

    .tab-card_checkbox:focus {
        border: none !important;
    }

    .tab_item:has(.tab-card_checkbox:checked) .tab-card_content {
        grid-template-rows: 1fr;
    }

    .tab_item:has(.tab-card_checkbox:checked) .tab-card_toggle {
        color: var(--base-color-neutral--neutral-0);
    }

    .tab-card_toggle h3 {
        transition: color 300ms ease;
    }
}

[tab-img].active {
    opacity: 1;
}


.faq-card_checkbox {
    appearance: none;
    border: none !important;
}

.faq-card_checkbox:focus {
    border: none !important;
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_content {
    grid-template-rows: 1fr;
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_line-h {
    transform: rotate(180deg);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_line-v {
    transform: rotate(90deg);
}

.faq_item:has(.faq-card_checkbox:checked) h3 {
    color: var(--base-color-neutral--neutral-0);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-line {
    background-color: var(--base-color-brand--dark-purple);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_wrapper {
    border-color: var(--base-color-brand--dark-purple);
}

