/**
 * QI HOME V2
 */


/* =========================================================
   RESET
   ========================================================= */

body.home .page-wrapper,
body.home .page-inner,
body.home .entry-content,
body.home #content {

    margin:
        0 !important;

    padding:
        0 !important;
}


body.home .page-title {

    display:
        none !important;
}


body.home .qi-home-v2 {

    width:
        100vw;

    margin-left:
        calc(50% - 50vw);

    overflow:
        hidden;

    background:
        #ffffff;

    color:
        #163a4a;
}


.qi-home-v2 *,
.qi-home-v2 *::before,
.qi-home-v2 *::after {

    box-sizing:
        border-box;
}


.qih2-shell {

    width:
        calc(100% - 48px);

    max-width:
        1180px;

    margin:
        0 auto;
}


/* =========================================================
   COMMON
   ========================================================= */

.qih2-section {

    padding:
        66px 0;
}


.qih2-kicker,
.qih2-eyebrow {

    margin-bottom:
        10px;

    color:
        #118c8b;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}


.qih2-section-head {

    max-width:
        760px;

    margin-bottom:
        30px;
}


.qih2-section-head
h2,

.qih2-faq-intro
h2,

.qih2-final-cta
h2 {

    margin:
        0 !important;

    color:
        #163a4a !important;

    font-size:
        30px !important;

    font-weight:
        800 !important;

    line-height:
        1.25 !important;
}


.qih2-section-head
p,

.qih2-faq-intro
> p {

    margin:
        9px 0 0 !important;

    color:
        #70848c;

    font-size:
        11px;

    line-height:
        1.8;
}


/* =========================================================
   HERO
   ========================================================= */

.qih2-hero {

    position:
        relative;

    padding:
        66px 0 62px;

    overflow:
        hidden;

    border-bottom:
        1px solid #e4eeee;

    background:
        radial-gradient(
            circle at 78% 27%,
            rgba(17,140,139,.13),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #f8fbfc 0%,
            #ffffff 60%,
            #f1f9f9 100%
        );
}


.qih2-hero-grid {

    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        minmax(0,1.12fr)
        minmax(350px,.88fr);

    gap:
        72px;

    align-items:
        center;
}


.qih2-hero h1 {

    max-width:
        690px;

    margin:
        0 0 12px !important;

    color:
        #123847 !important;

    font-size:
        clamp(39px,4vw,59px) !important;

    font-weight:
        850 !important;

    line-height:
        1.1 !important;

    letter-spacing:
        -.03em;
}


.qih2-brand-line {

    margin-bottom:
        17px;

    color:
        #118c8b;

    font-size:
        17px;

    font-weight:
        800;
}


.qih2-hero-description {

    max-width:
        610px;

    margin:
        0 0 24px !important;

    color:
        #60777f;

    font-size:
        13px;

    line-height:
        1.9;
}


.qih2-hero-buttons {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;
}


.qih2-btn {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        20px;

    min-height:
        48px;

    padding:
        10px 20px;

    border-radius:
        8px;

    font-size:
        12px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


.qih2-btn-primary {

    border:
        1px solid #118c8b;

    background:
        #118c8b;

    color:
        #ffffff !important;
}


.qih2-btn-primary:hover {

    background:
        #0e7877;
}


.qih2-btn-outline {

    border:
        1px solid #bfd8dc;

    background:
        #ffffff;

    color:
        #163a4a !important;
}


.qih2-trust-mini {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        23px;
}


.qih2-trust-mini
span {

    padding:
        6px 10px;

    border:
        1px solid #d2e4e6;

    border-radius:
        999px;

    background:
        rgba(255,255,255,.78);

    color:
        #587078;

    font-size:
        9px;

    font-weight:
        700;
}


/* =========================================================
   HERO PRODUCT
   ========================================================= */

.qih2-featured-card {

    position:
        relative;

    max-width:
        410px;

    margin-left:
        auto;

    padding:
        18px;

    border:
        1px solid #d9e8ea;

    border-radius:
        21px;

    background:
        rgba(255,255,255,.93);

    box-shadow:
        0 22px 60px
        rgba(22,58,74,.10);
}


.qih2-featured-badge {

    position:
        absolute;

    z-index:
        2;

    top:
        15px;

    left:
        15px;

    padding:
        5px 10px;

    border-radius:
        999px;

    background:
        #163a4a;

    color:
        #ffffff;

    font-size:
        8px;

    font-weight:
        800;
}


.qih2-featured-image {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    height:
        260px;

    margin-bottom:
        14px;

    border-radius:
        15px;

    overflow:
        hidden;

    background:
        #f8fbfc;
}


.qih2-featured-image
img {

    width:
        100%;

    height:
        100%;

    max-width:
        270px;

    object-fit:
        contain;
}


.qih2-product-kicker {

    margin-bottom:
        4px;

    color:
        #118c8b;

    font-size:
        8px;

    font-weight:
        800;
}


.qih2-featured-title {

    display:
        block;

    margin-bottom:
        7px;

    color:
        #163a4a !important;

    font-size:
        14px;

    font-weight:
        800;

    line-height:
        1.45;

    text-decoration:
        none !important;
}


.qih2-featured-price {

    margin-bottom:
        12px;

    color:
        #163a4a;

    font-size:
        16px;

    font-weight:
        800;
}


.qih2-product-action {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    min-height:
        40px;

    padding:
        8px 12px;

    border:
        1px solid #c2dcdf;

    border-radius:
        7px;

    color:
        #118c8b !important;

    font-size:
        10px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


/* =========================================================
   NEEDS
   ========================================================= */

.qih2-needs {

    background:
        #ffffff;
}


.qih2-needs-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:
        14px;
}


.qih2-need-card {

    position:
        relative;

    display:
        flex;

    flex-direction:
        column;

    min-height:
        185px;

    padding:
        20px;

    border:
        1px solid #dbe8ea;

    border-radius:
        14px;

    background:
        #ffffff;

    color:
        #163a4a !important;

    text-decoration:
        none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}


.qih2-need-card:hover {

    transform:
        translateY(-3px);

    border-color:
        #98cccd;

    box-shadow:
        0 12px 30px
        rgba(22,58,74,.06);
}


.qih2-need-number {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        32px;

    height:
        32px;

    margin-bottom:
        18px;

    border-radius:
        9px;

    background:
        #eaf7f6;

    color:
        #118c8b;

    font-size:
        9px;

    font-weight:
        800;
}


.qih2-need-card
strong {

    display:
        block;

    margin-bottom:
        8px;

    font-size:
        15px;
}


.qih2-need-card
p {

    flex:
        1;

    margin:
        0 0 14px !important;

    color:
        #70858d;

    font-size:
        10px;

    line-height:
        1.7;
}


.qih2-need-card
em {

    color:
        #118c8b;

    font-size:
        10px;

    font-style:
        normal;

    font-weight:
        800;
}


/* =========================================================
   COMPARE
   ========================================================= */

.qih2-compare {

    background:
        #f5f9fa;
}


.qih2-compare-wrap {

    overflow:
        hidden;

    border:
        1px solid #d8e7e9;

    border-radius:
        16px;

    background:
        #ffffff;
}


.qih2-compare-head,
.qih2-compare-row {

    display:
        grid;

    grid-template-columns:
        1.1fr
        repeat(3,1fr);

    align-items:
        center;
}


.qih2-compare-head {

    background:
        #163a4a;

    color:
        #ffffff;
}


.qih2-compare-head
span,

.qih2-compare-head
strong,

.qih2-compare-row
span,

.qih2-compare-row
b {

    padding:
        15px 18px;

    border-right:
        1px solid rgba(255,255,255,.08);

    font-size:
        10px;
}


.qih2-compare-head
strong {

    color:
        #ffffff;
}


.qih2-compare-row {

    border-bottom:
        1px solid #e6eeee;
}


.qih2-compare-row
span {

    color:
        #6d858d;

    font-weight:
        700;
}


.qih2-compare-row
b {

    color:
        #163a4a;

    font-weight:
        700;
}


.qih2-compare-foot {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;

    padding:
        16px 18px;
}


.qih2-compare-foot
p {

    margin:
        0 !important;

    color:
        #7b8e95;

    font-size:
        9px;
}


.qih2-compare-foot
a {

    color:
        #118c8b !important;

    font-size:
        10px;

    font-weight:
        800;

    white-space:
        nowrap;

    text-decoration:
        none !important;
}


/* =========================================================
   PRODUCTS
   ========================================================= */

.qih2-products {

    background:
        #ffffff;
}


.qih2-head-row {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    max-width:
        none;
}


.qih2-view-all {

    color:
        #118c8b !important;

    font-size:
        10px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


.qih2-product-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:
        15px;
}


.qih2-product-card {

    overflow:
        hidden;

    border:
        1px solid #dce8ea;

    border-radius:
        14px;

    background:
        #ffffff;
}


.qih2-product-image {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    height:
        220px;

    padding:
        15px;

    background:
        #fafcfc;
}


.qih2-product-image
img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;
}


.qih2-product-info {

    padding:
        15px;
}


.qih2-product-label {

    margin-bottom:
        5px;

    color:
        #7f939a;

    font-size:
        8px;
}


.qih2-product-name {

    display:
        block;

    min-height:
        42px;

    margin-bottom:
        8px;

    color:
        #163a4a !important;

    font-size:
        12px;

    font-weight:
        800;

    line-height:
        1.55;

    text-decoration:
        none !important;
}


.qih2-product-price {

    margin-bottom:
        12px;

    color:
        #163a4a;

    font-size:
        14px;

    font-weight:
        800;
}


/* =========================================================
   TRUST
   ========================================================= */

.qih2-trust {

    background:
        #ffffff;
}


.qih2-trust-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:
        14px;
}


.qih2-trust-card {

    padding:
        21px;

    border:
        1px solid #dce8ea;

    border-radius:
        13px;

    background:
        #ffffff;
}


.qih2-trust-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        34px;

    height:
        34px;

    margin-bottom:
        17px;

    border-radius:
        9px;

    background:
        #eaf7f6;

    color:
        #118c8b;

    font-size:
        9px;

    font-weight:
        800;
}


.qih2-trust-card
strong {

    display:
        block;

    margin-bottom:
        8px;

    color:
        #163a4a;

    font-size:
        13px;
}


.qih2-trust-card
p {

    min-height:
        53px;

    margin:
        0 0 14px !important;

    color:
        #71858d;

    font-size:
        9.5px;

    line-height:
        1.75;
}


.qih2-trust-card
a {

    color:
        #118c8b !important;

    font-size:
        9px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


.qih2-credential-note {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    margin-top:
        16px;

    padding:
        18px 20px;

    border:
        1px solid #cfe3e5;

    border-radius:
        12px;

    background:
        #f5fafa;
}


.qih2-credential-note
strong {

    display:
        block;

    margin-bottom:
        3px;

    color:
        #163a4a;

    font-size:
        11px;
}


.qih2-credential-note
span {

    color:
        #758a91;

    font-size:
        9px;
}


.qih2-credential-note
a {

    color:
        #118c8b !important;

    font-size:
        9px;

    font-weight:
        800;

    white-space:
        nowrap;

    text-decoration:
        none !important;
}


/* =========================================================
   KNOWLEDGE
   ========================================================= */

.qih2-knowledge {

    background:
        #f5f9fa;
}


.qih2-knowledge-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        14px;
}


.qih2-knowledge-grid
a {

    display:
        block;

    padding:
        22px;

    border:
        1px solid #d9e7e9;

    border-radius:
        13px;

    background:
        #ffffff;

    text-decoration:
        none !important;
}


.qih2-knowledge-grid
span {

    display:
        block;

    margin-bottom:
        27px;

    color:
        #118c8b;

    font-size:
        9px;

    font-weight:
        800;
}


.qih2-knowledge-grid
strong {

    display:
        block;

    margin-bottom:
        8px;

    color:
        #163a4a;

    font-size:
        14px;
}


.qih2-knowledge-grid
p {

    min-height:
        42px;

    margin:
        0 0 17px !important;

    color:
        #71858d;

    font-size:
        9.5px;

    line-height:
        1.7;
}


.qih2-knowledge-grid
em {

    color:
        #118c8b;

    font-size:
        9px;

    font-style:
        normal;

    font-weight:
        800;
}


/* =========================================================
   FAQ
   ========================================================= */

.qih2-faq {

    background:
        #ffffff;
}


.qih2-faq-layout {

    display:
        grid;

    grid-template-columns:
        minmax(250px,.72fr)
        minmax(0,1.28fr);

    gap:
        72px;
}


.qih2-faq-intro
a {

    display:
        inline-block;

    margin-top:
        20px;

    color:
        #118c8b !important;

    font-size:
        10px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


.qih2-faq-list {

    border-top:
        1px solid #dce8ea;
}


.qih2-faq-list
details {

    border-bottom:
        1px solid #dce8ea;
}


.qih2-faq-list
summary {

    position:
        relative;

    padding:
        17px 35px 17px 0;

    cursor:
        pointer;

    color:
        #163a4a;

    font-size:
        11px;

    font-weight:
        800;

    list-style:
        none;
}


.qih2-faq-list
summary::-webkit-details-marker {

    display:
        none;
}


.qih2-faq-list
summary::after {

    

    position:
        absolute;

    right:
        3px;

    top:
        14px;

    color:
        #118c8b;

    font-size:
        19px;

    font-weight:
        400;
}


.qih2-faq-list
details[open]
summary::after {

    
}


.qih2-faq-list
details
p {

    margin:
        0 !important;

    padding:
        0 35px 17px 0;

    color:
        #70848c;

    font-size:
        9.5px;

    line-height:
        1.75;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.qih2-final-cta {

    margin:
        0 !important;

    padding:
        39px 0;

    border:
        0 !important;

    background:
        #123847;
}


.qih2-final-inner {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        50px;
}


.qih2-final-cta
.qih2-kicker {

    color:
        #5bd0cc;
}


.qih2-final-cta
h2 {

    color:
        #ffffff !important;
}


.qih2-final-cta
p {

    margin:
        7px 0 0 !important;

    color:
        #aac0c8;

    font-size:
        10px;
}


.qih2-final-actions {

    display:
        flex;

    gap:
        9px;
}


.qih2-final-actions
a {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        46px;

    padding:
        10px 16px;

    border-radius:
        8px;

    font-size:
        10px;

    font-weight:
        800;

    text-decoration:
        none !important;
}


.qih2-final-primary {

    min-width:
        190px;

    border:
        1px solid #36aaa7;

    background:
        #118c8b;

    color:
        #ffffff !important;
}


.qih2-final-secondary {

    border:
        1px solid rgba(255,255,255,.22);

    color:
        #ffffff !important;
}


/* Remove CTA / Footer white seam */

body.home
.qih2-final-cta
+ * {

    margin-top:
        0 !important;
}


body.home
#qi-footer-v3 {

    margin-top:
        0 !important;

    border-top:
        0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 849px) {

    .qih2-hero-grid {

        grid-template-columns:
            1fr 1fr;

        gap:
            34px;
    }


    .qih2-needs-grid,
    .qih2-trust-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .qih2-product-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .qih2-faq-layout {

        gap:
            38px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 549px) {

    .qih2-shell {

        width:
            calc(100% - 32px);
    }


    .qih2-section {

        padding:
            47px 0;
    }


    /* Hero */

    .qih2-hero {

        padding:
            40px 0 38px;
    }


    .qih2-hero-grid {

        grid-template-columns:
            1fr;

        gap:
            30px;
    }


    .qih2-hero h1 {

        font-size:
            34px !important;

        line-height:
            1.13 !important;
    }


    .qih2-brand-line {

        font-size:
            14px;
    }


    .qih2-hero-description {

        font-size:
            11px;
    }


    .qih2-hero-buttons {

        display:
            grid;

        grid-template-columns:
            1fr;
    }


    .qih2-btn {

        width:
            100%;
    }


    .qih2-trust-mini {

        display:
            grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .qih2-trust-mini
    span {

        text-align:
            center;
    }


    .qih2-featured-card {

        max-width:
            none;

        padding:
            14px;

        border-radius:
            16px;
    }


    .qih2-featured-image {

        height:
            220px;
    }


    /* Titles */

    .qih2-section-head {

        margin-bottom:
            22px;
    }


    .qih2-section-head
    h2,

    .qih2-faq-intro
    h2,

    .qih2-final-cta
    h2 {

        font-size:
            22px !important;
    }


    /* Needs */

    .qih2-needs-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:
            9px;
    }


    .qih2-need-card {

        min-height:
            166px;

        padding:
            15px;
    }


    .qih2-need-card
    strong {

        font-size:
            12px;
    }


    .qih2-need-card
    p {

        font-size:
            9px;
    }


    /* Comparison becomes horizontal scroll */

    .qih2-compare-wrap {

        overflow-x:
            auto;
    }


    .qih2-compare-table {

        min-width:
            680px;
    }


    .qih2-compare-foot {

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    /* Products */

    .qih2-product-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:
            9px;
    }


    .qih2-product-image {

        height:
            165px;
    }


    /* Trust */

    .qih2-trust-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:
            9px;
    }


    .qih2-trust-card {

        padding:
            15px;
    }


    .qih2-trust-card
    p {

        min-height:
            0;

        font-size:
            8.5px;
    }


    .qih2-credential-note {

        display:
            block;
    }


    .qih2-credential-note
    a {

        display:
            inline-block;

        margin-top:
            10px;
    }


    /* Knowledge */

    .qih2-knowledge-grid {

        grid-template-columns:
            1fr;

        gap:
            9px;
    }


    .qih2-knowledge-grid
    span {

        margin-bottom:
            15px;
    }


    .qih2-knowledge-grid
    p {

        min-height:
            0;
    }


    /* FAQ */

    .qih2-faq-layout {

        grid-template-columns:
            1fr;

        gap:
            28px;
    }


    /* CTA */

    .qih2-final-inner {

        display:
            block;
    }


    .qih2-final-actions {

        display:
            grid;

        grid-template-columns:
            1fr;

        margin-top:
            20px;
    }


    .qih2-final-actions
    a {

        width:
            100%;
    }

}

/* === QI HOME FLATSOME BOTTOM GAP FIX START === */

/*
 * Flatsome columns normally have:
 * padding-bottom: 30px;
 *
 * On the custom homepage this appears as a white strip
 * between QI Home V2 and QI Footer V3.
 */

body.home
.row-main > .col {

    padding-bottom:
        0 !important;

    margin-bottom:
        0 !important;
}


body.home
.row-main {

    margin-bottom:
        0 !important;
}


body.home
.row-main > .col > .col-inner {

    margin-bottom:
        0 !important;

    padding-bottom:
        0 !important;
}


body.home
.entry-content {

    margin-bottom:
        0 !important;

    padding-bottom:
        0 !important;
}


body.home
.qih2-final-cta {

    margin-bottom:
        0 !important;
}


/*
 * Footer follows the Flatsome page wrapper directly.
 */

body.home
#qi-footer-v3 {

    margin-top:
        0 !important;
}


/* === QI HOME FLATSOME BOTTOM GAP FIX END === */
