a {
    color: inherit;
}
/*improve the font quality */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -o-font-smoothing: antialiased;
}
/* 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;
}
/* 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;
}
/* Prevent all click and hover interaction with an element */
.pointer-events-off {
    pointer-events: none;
}
/* Enables all click and hover interaction with an element */
.pointer-events-on {
    pointer-events: auto;
}
/* Create a class of .div-square which maintains a 1:1 dimension of a div */
.div-square::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
    margin-right: auto !important;
    margin-left: auto !important;
}
/* 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;
}
/* Apply "..." after 1 line of text */
.text-style-1line {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
/* Adds inline flex display */
.display-inlineflex {
    display: inline-flex;
}
/* Remove default Webflow chevron from form select */
select{
    -webkit-appearance:none;
}
/* These classes are never overwritten */
.text-weight-black {
    font-weight: 900 !important;
}
.text-weight-xbold {
    font-weight: 800 !important;
}
.text-weight-bold {
    font-weight: 700 !important;
}
.text-weight-semibold {
    font-weight: 600 !important;
}
.text-weight-medium {
    font-weight: 500 !important;
}
.text-weight-normal {
    font-weight: 400 !important;
}
.text-weight-light {
    font-weight: 300 !important;
}
.text-weight-xlight {
    font-weight: 200 !important;
}
.text-weight-thin {
    font-weight: 100 !important;
}
.overflow-visible {
    overflow: visible !important;
}
.overflow-hidden {
    overflow: hidden !important;
}
.overflow-auto {
    overflow: auto !important;
}
.overflow-scroll {
    overflow: scroll !important;
}
.hide {
    display: none !important;
}
@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;
}
/* Apply "..." at 100% width */
.truncate-width {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Removes native scrollbar */
.no-scrollbar {
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
}
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
/* Font Size – Very Large Screens (above 1440px) */
@media screen and (min-width: 1441px) {
    html {
        font-size: 1rem; /* Fixed value to avoid fonts that are too large */
    }
}
/* Font Size – Small & Large Screens (991px to 1440px) */
@media screen and (min-width: 992px) and (max-width: 1440px) {
    html {
        font-size: 1.111vw; /* Fluid scale */
    }
}
/* Stroke layer */
.bubble-text::before {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    -webkit-text-stroke: 1.3rem #DFECFF50;
    color: transparent; /* stroke only */
}
/* Main clear text */
span.bubble-text  {
    color: #2563EB; /* blue text fill */
    position: relative;
    z-index: 1;
}
@media (min-width: 1024px) and (max-width: 1440px) {
    .cta-lottie {
        width: 100%;
        margin-bottom: -13rem;
    }
}
@media (min-width: 1441px) and (max-width: 1840px) {
    .cta-lottie {
        width: 100%;
        margin-bottom: -17rem;
    }
}
@media (min-width: 1841px) {
    .cta-lottie {
        width: 100%;
        margin-bottom: -23rem;
    }
}
/*
.nav-link .nav-link-icon {
    	display: none;
}
@media screen and (min-width: 768px) {
  .nav-link.w--current .nav-link-icon {
    	display: block;
  }
}
*/