
/* CSS Fluid Responsive */

html { font-size: calc(0.5991091314031181rem + 0.4454342984409799vw); }
@media screen and (max-width:1440px) { html { font-size: calc(0.5991091314031181rem + 0.4454342984409799vw); } }
@media screen and (max-width:991px) { html { font-size: calc(0.44698660714285715rem + 0.8928571428571428vw); } }
@media screen and (max-width:767px) { html { font-size: calc(0.6671006944444444rem + 0.6944444444444444vw); } }
@media screen and (max-width:479px) { html { font-size: calc(0.7494769874476988rem + 0.8368200836820083vw); } }


/* 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;
}

/* Adds inline flex display */
.display-inlineflex {
    display: inline-flex;
}

/* These classes are never overwritten */
.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;
    }
    
    /* Pricing section mobile fixes */
    .pricing_content {
        display: flex !important;
        flex-direction: column !important;
        gap: 2rem !important;
    }
    
    .pricing_card-list {
        order: 2;
    }
    
    .pricing_card.is-featured,
    .pricing_card.is-custom-compact {
        order: 1;
        width: 100% !important;
    }
    
    .pricing_card-list li {
        font-size: 0.875rem;
        min-height: auto;
        padding: 0.5rem 0;
    }
    
    .pricing_item-icon {
        min-width: 20px;
        width: 20px;
        height: 20px;
    }
    
    .pricing_card-description {
        font-size: 0.85rem;
    }
    
    .pricing_card-title-wrap h3 {
        font-size: 1.5rem;
    }
    
    .pricing_card {
        padding: 1.25rem 1rem !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;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.sidebar::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.sidebar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Fix for inline flex pricing content */
div[style*="display: flex"][style*="flex-direction: column"][style*="gap: 1.5rem"] {
    width: 100% !important;
}

div[style*="display: flex"][style*="flex-direction: column"][style*="gap: 1.5rem"] > div {
    width: 100% !important;
    min-width: 0;
}

/* Features section bubble styling */
.features-section-bubble {
    background: linear-gradient(135deg, #e8f4fd 0%, #f0f7ff 100%);
    border: 2px solid var(--brand--light-blue);
    border-radius: 2rem;
    padding: 4rem 3rem;
    box-shadow: 0 4px 20px rgba(9, 87, 151, 0.08);
    position: relative;
}

.features-section-bubble .text-4xl {
    margin-bottom: 3rem;
}

@media screen and (max-width: 991px) {
    .features-section-bubble {
        padding: 3rem 2rem;
    }
}

@media screen and (max-width: 767px) {
    .features-section-bubble {
        border-radius: 1.5rem;
        padding: 2.5rem 1.5rem;
    }
    
    .features-section-bubble .text-4xl {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 479px) {
    .features-section-bubble {
        border-radius: 1.25rem;
        padding: 2rem 1rem;
    }
    
    .features-section-bubble .text-4xl {
        margin-bottom: 1.5rem;
        font-size: 1.75rem;
    }
}
