@charset "UTF-8";

.freeForm {
    padding: 100px 0;
}

.freeForm .container > div {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.freeForm .text {
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
}

.freeForm .icoLnks .icoWrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.freeForm .icoLnks .icoWrap p,
.freeForm .icoLnks .icoWrap p a {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.54px;
}

#tagline {
    padding: min(6.250vw, 120px) 0 
}

#tagline img {
    display: block;
    width: min(37.083vw, 712px);
    margin: 0 auto;
}

.freeForm.contLogos {
    padding: clamp(80px, 9.375vw, 180px) 0 clamp(60px, 13.542vw, 260px);
}

#Con-test .container > div {
    background-color: var( --white );
}

.parthners-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#main .freeForm .btn.btn-orange, .half-content .btn-orange, [role=button] {
    background-color: var( --primary-color );
    color: var( --white );
    text-transform: uppercase;
    padding: 15px 40px;
    font-weight: 500;
    text-align: center;
    border-radius: 0px;
}

#main .freeForm .btn.btn-orange:hover, .half-content .btn-orange:hover, [role=button] {
    background-color: var( --primary-hover );
}

.parthners-list li {
    width: 33.33%;
    text-align: center;
    padding: 0 15px;
    margin-bottom: 0;
}

/* NGS redesign — Financing / Insurance band */
#financing.freeForm {
    padding: 80px clamp(32px, 7.292vw, 140px);
    position: relative;
    z-index: 1;
    background-color: #00606C;
    background-image: linear-gradient( -73.72deg, rgba(0, 185, 126, 0.25) 0%, rgba(0, 185, 126, 0) 100% );
}

#financing .container {
    max-width: none;
    width: 100%;
    padding: 0;
}

#financing .container > div {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp( 40px, 5.208vw, 100px );
}

#financing h2 {
    flex: 0 1 812px;
    margin: 0;
    color: #F8F8F8;
    font-size: clamp( 34px, 2.5vw, 48px );
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
}

#financing .finList {
    flex: 0 1 811px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat( 3, auto );
    grid-auto-flow: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#financing .finList li {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 16px;
    background-color: rgba( 0, 185, 126, 0.25 );
    border: 1px solid #3CB682;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: var( --body-font-size );
    line-height: 1.5;
    font-weight: 400;
}

#financing .finList li::before {
    content: '';
    flex-shrink: 0;
    width: 20px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19.4' height='14.6' viewBox='0 0 19.4 14.6'%3E%3Cpath d='M18 0L6.2 11.8L1.4 7L0 8.45L6.2 14.6L19.4 1.4L18 0Z' fill='white'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ============================================================
   INTERIOR — Benefits band (§4 int-benefits, custom pages)
   ------------------------------------------------------------
   Teal pill band; same pill recipe as #financing above (rgba green
   fill, #3CB682 border, 999 radius, white check + copy). Heading 534
   left + 2x3 pill grid 811 right, justify-between, 280 side gutter.
   Scoped to body:not(.home). Mockup 6633:2691 / 6645:3434.
   ============================================================ */
body:not( .home ) #int-benefits.freeForm {
    padding: 80px clamp( 32px, 14.583vw, 280px );   /* desktop 280 side / floors to mobile 32 via <=1024 */
    position: relative;
    z-index: 1;
    background-color: #00606C;
    background-image: linear-gradient( -73.72deg, rgba(0, 185, 126, 0.25) 0%, rgba(0, 185, 126, 0) 100% );
}

body:not( .home ) #int-benefits .container {
    max-width: none;
    width: 100%;
    padding: 0;
}

body:not( .home ) #int-benefits .container > div {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
}

body:not( .home ) #int-benefits h2 {
    flex: 0 1 534px;
    margin: 0;
    color: #FFFFFF;
    font-size: clamp( 34px, 2.5vw, 48px );   /* mobile 34 -> desktop 48 */
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
}

body:not( .home ) #int-benefits .finList {
    flex: 0 1 811px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat( 3, auto );
    grid-auto-flow: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body:not( .home ) #int-benefits .finList li {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 16px;
    background-color: rgba( 0, 185, 126, 0.25 );
    border: 1px solid #3CB682;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: var( --body-font-size );   /* 18 desktop / 16 mobile */
    line-height: 1.5;
    font-weight: 400;
}

body:not( .home ) #int-benefits .finList li::before {
    content: '';
    flex-shrink: 0;
    width: 20px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19.4' height='14.6' viewBox='0 0 19.4 14.6'%3E%3Cpath d='M18 0L6.2 11.8L1.4 7L0 8.45L6.2 14.6L19.4 1.4L18 0Z' fill='white'/%3E%3C/svg%3E") no-repeat center / contain;
}

.freeForm h1,
.freeForm h2 {
    color: inherit;
    font-size: clamp( 38px, 2.5vw, 48px );
    font-weight: 400;
    font-style: normal;
    letter-spacing: normal;
    line-height: clamp( 36px, 2.917vw, 56px );
    margin: 0 0 clamp( 20px, 1.25vw, 24px );
    text-transform: unset;
}

#Con-test.freeForm h2 {
    margin: 0;
}

.freeForm h2:after {
    content: '';
    border: none;
    margin: clamp(4px, 0.417vw, 8px) auto clamp(16px, 1.667vw, 32px);
    height: 4px;
    width: 60px;
    background-color: var( --secondary-color );
    display: none;
}

.freeForm.contLogos .container h2:after {
    content: '';
    color: var( --secondary-color );
    border-bottom: none;
    width: 80px;
    border: none;
    margin: 16px auto 21px;
    border-bottom: 4px solid;
    display: block;
}

#Con-test.toothIcon {
    position: relative;
    margin-bottom: 0px;
    padding: clamp(60px, 11.458vw, 220px) 0;
}

#Con-test.toothIcon:before {
    content: '';
    position: absolute;
    width: min(13.438vw, 258px);
    height: min(2.813vw, 54px);
    top: min(6.25vw, 120px);
    left: min(43.281vw, 831px);
    background-image: url('/wp-content/uploads/2024/04/icon_top.svg');
    background-size: cover;
    z-index: 2;
}

#Con-test.toothIcon:after {
    content: '';
    position: absolute;
    width: min(43.958vw, 844px);
    height: min(3.698vw, 71px);
    bottom: min(6.615vw, 127px);
    left: min(28.021vw, 538px);
    background-image: url('/wp-content/uploads/2024/04/icon_bottom.svg');
    background-size: cover;
    z-index: 2;
}

#inner-content .freeForm h2 {
    font-family: var( --heading-font );
    font-size: clamp(28px, 2.083vw, 40px);
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    line-height: clamp(36px, 2.5vw, 48px);
    color: inherit;
}

#servCon {
    padding-top: clamp(40px, 5.208vw, 100px);
}

@media ( max-width: 1024px ) {
    .freeForm .container > div {
        flex-direction: column;
    }

    .freeForm .icoLnks {
        width: min( 560px, 95vw );
        margin: 56px auto 0;
    }

    .freeForm .icoLnks .icoWrap {
        width: 50%;
    }

    #financing .container > div {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 48px;
    }

    #financing h2 {
        flex: none;
        max-width: 100%;
        text-align: center;
    }

    #financing .finList {
        flex: none;
        width: 100%;
        max-width: 560px;
        grid-template-columns: 1fr;
        grid-auto-flow: row;
    }

    /* §4 Benefits band — stacked (heading top, single-column pills) */
    body:not( .home ) #int-benefits.freeForm {
        padding: 80px 32px;   /* mobile mockup gutter */
    }

    body:not( .home ) #int-benefits .container > div {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 48px;
    }

    body:not( .home ) #int-benefits h2 {
        flex: none;
        max-width: 100%;
        text-align: center;
    }

    body:not( .home ) #int-benefits .finList {
        flex: none;
        width: 100%;
        max-width: 560px;
        grid-template-columns: 1fr;
        grid-auto-flow: row;
    }
}

@media ( max-width: 768px ) {
    .freeForm .container > div {
        flex-direction: column;
    }

    .freeForm .icoLnks {
        padding: 56px 0 0;
    }

    .freeForm .icoLnks .icoWrap {
        width: 50%;
        text-align: center;
        padding: 10px;
    }
}

@media ( max-width: 567px ) {
    .freeForm.untreated img {
        width: 90%;
        display: block;
        margin: 0 auto;
    }

    .parthners-list li {
        width: 50%;
    }

    #Con-test.toothIcon:before,
    #Con-test.toothIcon:after {
        display: none;
    }
}