/* =======================================================
   SECTION PADDING UTILITIES
   -------------------------------------------------------
   PURPOSE:
   Provides consistent vertical and horizontal spacing for
   sections within Elementor layouts.

   USAGE:
   - Always include `.section-padding` for the base spacing structure.
   - Combine with optional modifier classes to adjust behavior:

       <section class="section-padding">                
       <section class="section-padding section-padding-small">
       <section class="section-padding offset-top">
       <section class="section-padding no-top-padding">
       <section class="section-padding no-bottom-padding">
       <section class="section-padding hero-section">

   NAMING CONVENTION:
   - Base:  `.section-padding`
   - Modifier: `.section-padding-*` (adds or alters behavior)

   NOTES:
   - `.elementor` prefix ensures this stylesheet overrides Elementor defaults.
   - `.section-padding-small` does not stand alone — always use with `.section-padding`.
   ======================================================= */

.elementor .section-padding {
    padding: 120px 7vw;
}

.elementor .section-padding-small {
    padding-top: 80px;
    padding-bottom: 80px;
    /* Horizontal padding inherited from .section-padding */
}

.elementor .section-padding.offset-top {
    padding-top: 120px;
}

.elementor .section-padding.no-top-padding {
    padding-top: 0;
}

.elementor .section-padding.no-bottom-padding {
    padding-bottom: 0;
}

@media (min-width: 501px) and (max-width: 1030px) {
    .elementor .section-padding,
    .elementor .section-padding-small {
        padding-left: 6vw;
        padding-right: 6vw;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor .section-padding {
        padding-top: 140px;
        padding-bottom: 140px;
    }

    .elementor .section-padding-small {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .elementor .section-padding.offset-top {
        padding-top: 200px;
    }
}

@media (min-width: 990px) and (max-width: 1400px) {
    .elementor .hero-section {
        padding-top: 80px;
    }
}

@media (min-width: 1400px) and (max-width: 1649px) {
    .elementor .section-padding,
    .elementor .section-padding-small {
        padding-left: 9.5vw;
        padding-right: 9.5vw;
    }
}

@media (min-width: 1400px) {
    .elementor .hero-section {
        padding-top: 60px;
    }
}

@media screen and (min-width: 1100px) and (min-height: 750px) {
    .elementor .section-padding {
        padding-top: 180px;
        padding-bottom: 180px;
    }

    .elementor .section-padding-small {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

@media screen and (min-width: 1500px) and (min-height: 900px) {
    .elementor .section-padding {
        padding-top: 240px;
        padding-bottom: 240px;
    }

    .elementor .section-padding-small {
        padding-top: 160px;
        padding-bottom: 160px;
    }
}

@media (min-width: 1025px) {
    .elementor .section-padding.offset-top {
        padding-top: 280px;
    }
}

/* =========================
   OTHER UTILITIES
   ========================= */
.hero-bg {
    background-image: 
        radial-gradient(at 20% 50%, hsl(189deg 100% 56% / 14%) 0, transparent 50%), 
        radial-gradient(at 20% 0, hsl(251deg 95% 75% / 48%) 0, transparent 50%);
}

.gradient-bg {
    background-image: 
        radial-gradient(at 80% 50%, hsl(189deg 100% 56% / 14%) 0, transparent 50%), 
        radial-gradient(at 80% 0, hsl(251deg 95% 75% / 48%) 0, transparent 50%);
}

.box-shadow {
    box-shadow: 0 20px 36px rgba(16, 20, 42, .12);
}

.image-shadow img {
    box-shadow: 0 20px 36px rgba(16, 20, 42, .12);
}

.bottom-border-radius {
    border-radius: 0 0 8px 8px;
}

body .image-border-radius img {
    border-radius: 14px;
}

.balance {
    text-wrap: balance;
}

/* =========================
   HEADER & THEME OVERRIDES
   ========================= */
body #site_header .site_header-menu_button {
    padding-right: 48px;
    padding-left: 18px;
    background-color: #26B3C3;
    color: #fff;
    border-radius: 20px;
    border: 2px solid transparent;
    text-align: center;
    cursor: pointer;
    transition: border .3s ease, opacity .3s ease, background .3s ease, color .3s ease;
}

body #site_header .site_header-nav_dd_back {
    background-color: transparent;
    border: none;
    margin: 26px 0 0 35px;
    padding: 5px 0 0 25px;
    width: calc(100% - 35px);
    position: relative;
    text-align: left;
    color: #9a9cab;
    transition: color .3s ease, opacity .3s ease, transform .3s cubic-bezier(.18,.8,.4,1);
    font-size: 15px;
    cursor: pointer;
}

.stick_site_nav .site_header-menu_button a:hover {
    color: #fff!important;
}

.stick_site_nav .site_header-container .gp_logo path {
    fill: #10142a;
}

.stick_site_nav .site_header-container .site_header-top_nav_item {
    color: #10142a;
}

.stick_site_nav--dark_bg .site_header-container .gp_logo path {
    fill: #fff;
}

.site_header-top_nav_item:hover, .stick_site_nav .site_header-container .site_header-top_nav_item:hover {
    color: #26b3c3;
}

/* =========================
   MOBILE HEADER OVERRIDES
   ========================= */
@media (max-width: 990px) {
    body #site_header .site_header-top_nav_item {
        color: #10142a!important;
    }
}

@media (max-width: 450px) {
    body #site_header .site_header-menu_button {
        padding: 16px;
        border-radius: 50px;
    }
}

/* =========================
   ELEMENTOR CUSTOM STYLES/OVERRIDES
   ========================= */
.elementor .fade-section {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity .9s ease, transform .9s cubic-bezier(0.18,.8,.4,1);
    will-change: opacity, transform;
}

.elementor .fade-section.visible {
    opacity: 1;
    transform: translateY(0);
}

.elementor-editor-active .fade-section {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.elementor-post__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.elementor-post__card {
    box-shadow: 0 20px 40px rgba(16, 20, 42, .12);
}

.elementor-post__text {
    margin-bottom: 20px!important;
}

body .elementor-widget-video .e-hosted-video,
body .elementor-widget-video .e-hosted-video .elementor-video {
    background-color: #fff;
    overflow: hidden;
}

body .elementor-widget-video .e-hosted-video .elementor-video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.elementor-widget-n-carousel.elementor-pagination-position-outside .swiper-pagination-bullet {
    background: transparent !important;
    border: 2px solid #dfdfed !important;
    opacity: 1 !important;
}

.elementor-widget-n-carousel.elementor-pagination-position-outside .swiper-pagination-bullet.swiper-pagination-bullet-active {
    border-color: #26B3C3 !important;
}

@media (max-width: 1024px) {
    body .elementor-widget-n-carousel.elementor-pagination-position-outside .swiper-pagination {
        display: flex !important;
    }

    body .elementor-swiper-button-next,
    body .elementor-swiper-button-prev {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    body .elementor-widget-n-carousel.elementor-pagination-position-outside .swiper-pagination {
        display: none !important;
    }
}

body .dark-link p,
body .dark-link p a {
    color: var(--e-global-color-text);
}

body .number-rounded {
    height: 40px!important;
    padding: 1rem!important;
    border-radius: 500px;
    border: 1px solid #E7E7E9;
    line-height: 0!important;
}

body a.how_included-features_button:hover {
    color: #fff;
}

/* =========================
   BLOG PAGE OVERRIDES
   ========================= */
body .article_share-button.article_share-button {
    color: #fff;
}

/* =========================
   CONTACT FORM OVERRIDES
   ========================= */
div.wpforms-container-full input[type=submit], div.wpforms-container-full button[type=submit], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type=submit], .wp-core-ui div.wpforms-container-full button[type=submit], .wp-core-ui div.wpforms-container-full .wpforms-page-button {
    background-color: #10142a!important;
    padding: 0.8rem 2rem !important;
}

div.wpforms-container-full input[type=submit]:not(:hover):not(:active), div.wpforms-container-full button[type=submit]:not(:hover):not(:active), div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
       background-color: #10142a!important;
    border-style: none!important;
}

div.wpforms-container-full input[type=submit], div.wpforms-container-full button[type=submit], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type=submit], .wp-core-ui div.wpforms-container-full button[type=submit], .wp-core-ui div.wpforms-container-full .wpforms-page-button {
    height: auto!important;
}

div.wpforms-container-full input[type=checkbox]:before, div.wpforms-container-full input[type=checkbox]:after, div.wpforms-container-full input[type=radio]:before, div.wpforms-container-full input[type=radio]:after {
    background-color: #fbfbff;
    border: 1px solid #dfdfed;
    border-radius: 2px!important;
}

.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
    background-color: #fbfbff!important;
    border: 1px solid #dfdfed;
}

@media (min-width: 990px) {
    .landing_hero_container {
        padding-bottom: unset!important;
        min-height: 100dvh!important;
    }
}

@media (max-width: 990px) {
.landing_hero_container {
    padding-top: unset!important;
    padding-bottom: unset!important;
    min-height: 80dvh!important;
}
}

@media (max-height: 920px) and (max-width: 900px) {
    body .contact-form_container--get_in_touch {
        max-width: 690px;
    }
}

div#wpforms-13875-field_16-container {
    margin-top: -20px;
}

ul#wpforms-13875-field_16 {
    margin-top: 8px;
}

.elementor-kit-6318 .feed_card-title_wrapper h2 {
    font-size: 20px;
    line-height: 1.4;
}

.elementor-kit-6318 .entry-content h1 {
    font-size: 46px!important;
}

.elementor-kit-6318 .integrations_main h1,
.elementor-kit-6318 h1.article_title.title--xl {
    font-size: 46px !important;
}

.elementor-kit-6318 .integrations_main h2, 
.elementor-kit-6318 .integrations-form_content h2,
.elementor-kit-6318 .wp-block-heading.is-style-title--sm, .elementor-kit-6318 h1.wp-block-heading.is-style-title--sm, 
.elementor-kit-6318 .integrations_main h2.title--sm {
    font-size: 24px !important;
    line-height: 1.4;
}

.get_started_standalone-desc .title--lg {
    font-size: 34px!important;
}



body .button.integrations-screenshots_link.js-launch_screenshots_lg {
    background-color: unset!important;
}

.elementor-kit-6318 .integrations_container button,
.elementor-kit-6318 .integrations_container input[type="button"],
.elementor-kit-6318 .integrations_container input[type="submit"],
.elementor-kit-6318 .integrations_container .elementor-button,
.elementor-kit-6318 .get_started_standalone-form_wrapper button,
.elementor-kit-6318 .get_started_standalone-form_wrapper input[type="button"],
.elementor-kit-6318 .get_started_standalone-form_wrapper input[type="submit"],
.elementor-kit-6318 .get_started_standalone-form_wrapper .elementor-button,
.elementor-kit-6318 .form_button button,
.elementor-kit-6318 .form_button input[type="button"],
.elementor-kit-6318 .form_button input[type="submit"],
.elementor-kit-6318 .form_button .elementor-button {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: unset !important;
    border: none !important;
}

.wpforms-container {
    padding: 45px 50px!important;
    background-color: #fff!important;
    border: 1px solid #dfdfed!important;
    border-radius: 8px!important;
}

div.wpforms-container-full:not(:empty) {
    margin: unset!important;
}

@media (max-width: 450px) {
.cookie_banner {
    max-width: 75%!important;
}
}