/*
 File:   Custom CSS
 Author: PHASE Digital
 Website: https://phase-digital.com
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root {
    --NovaGreen: #52b84a;
    --NovaBlue: #0f5688;
    --NovaYellow: #f4ba21;
    --NovaHeadFont: "Barlow Condensed", sans-serif;
}
.woocommerce {
    .tf-container {
        .header_wrapper {
            background-color: #fff;
            padding: 15px 0 0 0- !important;
        }
        .main_header {
            margin-top: 20px !important;
            padding-top: 0px !important;

            &:before {
                content: "";
                width: 100%;
                background: #115788;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
            }
        }
    }
    .products {
        margin: 0 auto 100px auto;
        max-width: 1400px;

        .product {
            border: 1px solid rgb(0, 56, 84);
            border-radius: 20px;
            padding: 25px 15px !important;

            img {
                margin-bottom: 15px;
            }
            .button {
                background: rgb(243, 167, 16) !important;
                border: 1px solid rgb(0, 56, 84);
                border-radius: 10px;
                color: #fff;
                font-family: Arial;
                font-size: 16px;
                font-weight: bold;
                margin: 0 auto;
                padding: 20px 10px;
                width: 100%;
            }
            a {
                width: 100%;

                button {
                    background: rgb(243, 167, 16) !important;
                    border: 1px solid rgb(0, 56, 84);
                    border-radius: 10px;
                    color: #fff;
                    font-family: Arial;
                    font-size: 16px;
                    font-weight: bold;
                    margin: 0 auto;
                    padding: 20px 10px;
                    width: 100%;
                }
            }
            .woocommerce-loop-product__title {
                color: rgb(0, 56, 84);
                font-size: 15px;
                font-weight: 700;
            }
            .price {
                color: rgb(0, 56, 84);
                font-size: 16px;
                font-weight: 400;
            }
        }
    }
    .woocommerce-breadcrumb {
        display: none !important;
    }
    .woocommerce-products-header {
        border: none !important;
        margin: 0 auto;
        max-width: 1400px;
    }
    .woocommerce-notices-wrapper {
        margin: 0 auto;
        max-width: 1400px;
    }
    .woocommerce-ordering {
        max-width: 1400px;
        margin: 0 auto !important;
        padding: 0 40px;
        width: 100%;
        text-align: right;
        float: none !important;

        select {
            font-size: 16px;
            border: 1px solid rgb(0, 56, 84);
        }
    }
    .woocommerce-result-count {
        display: none !important;
        max-width: 1400px;
        margin: 0 auto;
    }
}
/*============================================================================
                    Woocommerce Cart
=============================================================================*/
.woocommerce-cart {
    .entry-content {
        color: #000;
    }
    .tf-container {
        .header_wrapper {
            background-color: #fff;
            padding: 15px 0 0 0- !important;
        }
        .main_header {
            margin-top: 20px !important;
            padding-top: 0px !important;

            &:before {
                content: "";
                width: 100%;
                background: #115788;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
            }
        }
    }
    .entry-header {
        padding: 0px;
    }
    .wc-block-components-product-name {
        color: rgb(0, 56, 84);
        font-size: 15px;
        font-weight: 700;
    }
    .wc-block-components-product-price {
        color: #000;
        text-align: left;
    }
    .wc-block-components-product-metadata {
        color: #000 !important;
        text-align: left !important;
    }
    .wc-block-components-product-metadata__description {
        display: none;
    }
    .wc-block-cart-items__header {
        border-bottom: 1px solid rgb(0, 56, 84);

        th {
            color: #000;
            font-size: 16px;
            font-weight: bold;
        }
    }
    .wc-block-components-quantity-selector {
        .wc-block-components-quantity-selector__input {
            color: #000 !important;
            font-size: 16px !important;
            font-weight: 500 !important;
        }
        .wc-block-cart-item__remove-link {
            background: #000 !important;
            color: #fff !important;
        }
        .wc-block-components-quantity-selector__button {
            background: rgb(0, 56, 84) !important;
        }
    }
    .wp-block-woocommerce-cart-order-summary-block {
        color: #000;

        .wc-block-components-totals-shipping-address-summary {
                font-size: 16px !important;
        }
        .wc-block-components-totals-coupon {
            padding: 0px !important;
            
            .wc-block-components-panel__button {
                font-size: 16px !important;
                font-weight: 600 !important;
            }
            #wc-block-components-totals-coupon__input-coupon {
                padding: 10px !important;
            }
        }
    }
    .wc-block-cart__submit-button {
        background: #000;
        border-radius: 10px;
        color: #fff;
    }
    .wc-block-cart-item__remove-link {
        color: rgb(0, 56, 84) !important;
    }
    .wc-block-components-totals-item {
        .wc-block-components-totals-item__label {
            text-align: left;
        }
    }
    .wc-block-components-totals-item {
        padding: 0px !important;
    }
}
/*============================================================================
                    Woocommerce Cart
=============================================================================*/
.woocommerce-checkout {
    .entry-content {
        color: #000;
    }
    .tf-container {
        .header_wrapper {
            background-color: #fff;
            padding: 15px 0 0 0- !important;
        }
        .main_header {
            margin-top: 20px !important;
            padding-top: 0px !important;

            &:before {
                content: "";
                width: 100%;
                background: #115788;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
            }
        }
    }
    .entry-header {
        padding: 0px;
    }
    .wp-block-woocommerce-checkout {
        color: #000;
        margin: 0 auto;
        max-width: 1400px;
    }
    .wc-block-components-checkout-place-order-button {
        font-size: 16px !important;
        font-weight: 600 !important;
    }
    .wc-block-components-product-metadata {
        display: none !important;
    }
    .wc-block-components-order-summary-item__individual-price {
        display: none !important;
    }
    input[type="checkbox"]::after {
        left: 7px;
        top: 0px;
        width: 9px;
        height: 20px;
    }
}
/*============================================================================
                    Single Product
=============================================================================*/
.single-product {
    #product-9681 {
        #tbh-tapwell, #tbh-soil, #tbh-npw {
            display: none !important;
        }
        .tests-run {
            display: none !important;
        }
    }
}
.single-product {
    .flex-control-thumbs {
        display: flex;
        flex-flow: row wrap;
        gap: 2%;
        padding-left: 0px !important;

        li {
            margin: 0px !important;
            width: 23%;

            img {
                border: 1px solid rgb(0, 56, 84);
                border-radius: 10px;
                width: 100%;
            }
        }
    }
    .product {
        margin: 170px auto 100px auto;
        max-width: 1400px;
        padding: 0 40px;

        .after-cart-button {
            margin-top: 20px;
            display: flex;
            flex-flow: row nowrap;
            gap: 5px;

            p {
                color: var(--NovaBlue);
                font-size: 18px;
                font-weight: 400;
            }
            svg {
                margin-top: 5px;
            }
        }
        .before-product-title {
            margin-bottom: 5px;

            h6 {
                color: var(--NovaGreen);
                font-family: var(--NovaHeadFont);
                font-size: 23px;
                font-weight: 500;
            }
        }
        .related.products, .up-sells {
            padding-top: 0px;

            & > h2 {
                text-transform: uppercase;
                font-weight: 500;
                font-family: var(--NovaHeadFont);
                font-size: 50px;
                line-height: 1.1em;
                text-align: center;
            }
            ul.products {
                justify-content: flex-start !important;
            }
        }
        .summary {
            p.price {
                margin: 0px !important;
            }
        }
        .product_meta {
            display: none !important;
        }
        .product_title {
            color: var(--NovaBlue);
            font-size: 65px !important;
            font-weight: 700;
            line-height: 1.1em;
            margin-bottom: 10px !important;
            padding: 0px !important;
        }
        .woocommerce-product-details__short-description {
            p {
                margin-bottom: 15px;
            }
            .sd-show {
                color: var(--NovaBlue);
                cursor: pointer;
                display: inline;
                margin-top: 5px;
                text-decoration: underline;
            }
            .sd-more-content {
                display: none;
            }
        }
        .tests-run {
            display: flex;
            flex-flow: row nowrap;
            align-items: center;
            justify-content: flex-start;
            gap: 10px;
            margin-bottom: 10px;

            & > div:first-of-type {
                background: var(--NovaYellow);
                color: #fff;
                font-size: 25px;
                font-family: var(--NovaHeadFont);
                font-weight: 600;
                width: 40px;
                aspect-ratio: 1 / 1;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            h6 {
                color: #000;
                font-size: 23px;
                font-family: var(--NovaHeadFont);
                font-weight: 600;
            }
            .nova-see-list {
                border: 1px solid #000;
                border-radius: 20px;
                cursor: pointer;
                font-size: 18px;
                font-family: var(--NovaHeadFont);
                font-weight: 400;
                padding: 0px 20px;
            }
        }
        .add-home-test {
            .instructions {
                font-size: 17px;
                margin-bottom: 20px;
            }
            .wapf-field-label {
                margin-bottom: 0px;
            }
        }
        .wapf {
            margin-top: 30px;

            .wapf-field-label {
                label {
                    margin: 0px;

                    abbr {
                        display: none;
                    }
                    span {
                        font-size: 20px;
                        font-weight: bold;
                        font-family: Arial;
                        display: block;
                    }
                }
            }
            .wapf-swatch {
                border: 1px solid var(--NovaBlue);
                border-radius: 20px;
                color: var(--NovaBlue);
                transition: 0.2s;
                
                label {
                    padding: 5px 15px;

                    span {
                        font-size: 16px;
                    }
                }
                &:hover {
                    background: var(--NovaBlue);
                    color: #fff;
                }
                &.wapf-checked {
                    background: var(--NovaBlue);
                    color: #fff;
                }
                .wapf-pricing-hint {
                    display: none;
                }
            }
        }
        .variations_form {
            .reset_variations {
                display: none !important;
            }
            .variations {
                .button-variable-item {
                    background: transparent !important;
                    border: 1px solid var(--NovaBlue);
                    color: var(--NovaBlue) !important;
                    height: 40px !important;
                    padding: 15px !important;
                    border-radius: 20px !important;
                    box-shadow: none !important;

                    &.selected {
                        background: var(--NovaBlue) !important;
                        color: #fff !important;
                    }
                }
                tr {
                    th {
                        border: none !important;
                        padding: 0px !important;
                    }
                    td {
                        border: none !important;
                        padding-left: 0px !important;
                    }
                }
                .woo-selected-variation-item-name {
                    display: none !important;
                }
            }
            .woocommerce-variation {
                display: none !important;
            }
        }
        .woocommerce-Price-amount {
            color: var(--NovaBlue);
            font-size: 20px;
            display: block;
            margin-bottom: 10px;
        }
        .single_add_to_cart_button {
            background: rgb(243, 167, 16) !important;
            border: 1px solid rgb(0, 56, 84);
            border-radius: 10px;
            color: #fff;
            font-size: 16px;
            font-weight: bold;
            margin: 30px auto 0 auto;
            width: 100%;
        }
        .after-product {
            margin-bottom: 0px;
            
            .sep {
                background: var(--NovaGreen);
                height: 2px;
                width: 100%;
                margin: 75px 0;
            }
            .how-it-works {
                display: flex;
                flex-flow: row nowrap;
                gap: 50px;

                h2 {
                    font-size: 73px;
                    font-family: var(--NovaHeadFont);
                    margin-bottom: 30px;
                    font-weight: 600;
                    line-height: 1.1em;
                }
                img {
                    max-width: 50%;
                    width: 100%;
                }
                p {
                    font-size: 26px;
                    font-family: arial;
                    margin-bottom: 20px;
                    line-height: 1.2em;

                    &:last-of-type {
                        margin-bottom: 40px;
                    }
                }
                .order-today {
                    background: var(--NovaYellow);
                    border-radius: 20px;
                    color: #000;
                    cursor: pointer;
                    padding: 10px 20px;
                    display: inline-block;
                    font-size: 21px;
                    font-weight: 500;
                    font-family: var(--NovaHeadFont);
                    letter-spacing: .5px;
                    text-decoration: none;

                    &:hover {
                        background: var(--NovaYellow);
                        color: #000;
                    }
                }
            }
            .sample-report {
                display: flex;
                flex-flow: row nowrap;
                gap: 50px;

                h2 {
                    font-size: 73px;
                    font-family: var(--NovaHeadFont);
                    margin-bottom: 30px;
                    font-weight: 600;
                    line-height: 1.1em;
                }
                p {
                    font-size: 24px;
                    font-family: arial;
                    margin-bottom: 20px;
                    line-height: 1.2em;
                }
                .order-today {
                    background: var(--NovaYellow);
                    border-radius: 20px;
                    color: #000;
                    cursor: pointer;
                    padding: 10px 20px;
                    display: inline-block;
                    font-size: 21px;
                    font-weight: 500;
                    font-family: var(--NovaHeadFont);
                    letter-spacing: .5px;
                    text-decoration: none;

                    
                    &:hover {
                        background: var(--NovaYellow);
                        color: #000;
                    }
                }
            }
            .why-choose {
                display: flex;
                flex-flow: row nowrap;
                gap: 50px;

                h2 {
                    font-size: 73px;
                    font-family: var(--NovaHeadFont);
                    margin-bottom: 30px;
                    font-weight: 600;
                    line-height: 1.1em;
                }
                p {
                    font-size: 23px;
                    font-family: arial;
                    margin-bottom: 20px;
                    line-height: 1.2em;

                    &:last-of-type {
                        margin-bottom: 40px;
                    }
                }
                .bullets {
                    p {
                        b:first-of-type {
                            margin-right: 10px;
                            float: left;
                            height: 50px;
                            display: block;
                        }
                    }
                }
                .signup-notice {
                    color: #b61f23;
                    font-weight: 600;
                    font-size: 23px;
                }
                .get-started {
                    background: var(--NovaYellow);
                    border-radius: 20px;
                    color: #000;
                    padding: 10px 30px;
                    display: inline-block;
                    font-size: 31px;
                    font-weight: 600;
                    font-family: var(--NovaHeadFont);
                    letter-spacing: .5px;
                    text-decoration: none;
                    text-transform: uppercase;
                    
                    &:hover {
                        background: var(--NovaYellow);
                        color: #000;
                    }
                }
            }
            .trust-science {
                & > h2 {
                    color: #000;
                    font-size: 82px;
                    margin-bottom: 15px;
                    text-align: center;
                    font-weight: 600;
                    font-family: var(--NovaHeadFont);
                    letter-spacing: 1px;
                    line-height: 1em;
                }
                & > p {
                    color: #77797c;
                    font-size: 23px;
                    margin-bottom: 40px;
                    text-align: center;
                    font-weight: 600;
                }
                .trust-blocks {
                    display: flex;
                    flex-flow: row wrap;
                    justify-content: space-between;
    
                    & > div {
                        text-align: center;
                        width: 22%;
    
                        h5 {
                            color: #000;
                            font-size: 39px;
                            font-family: var(--NovaHeadFont);
                            font-weight: 600;
                            line-height: 1.1em;
                            margin-bottom: 10px;
                        }
                        img {
                            margin-bottom: 10px;
                        }
                        p {
                            color: #000;
                            font-family: arial;
                            font-size: 18px;
                            line-height: 1.4em;
                            margin-bottom: 20px;
                            height: 150px;
                        }
                        span {
                            color: #000;
                            cursor: pointer;
                            border: 1px solid #000;
                            border-radius: 20px;
                            padding: 5px 25px;
                            font-size: 17px;
                        }
                    }
                }
            }
            .why-test {
                & > h2 {
                    color: #000;
                    font-size: 82px;
                    margin-bottom: 25px;
                    text-align: center;
                    font-weight: 600;
                    font-family: var(--NovaHeadFont);
                    letter-spacing: 1px;
                    line-height: 1em;
                }
                h4 {
                    text-align: center;
                    font-size: 30px;
                    margin-bottom: 20px;
                }
                img {
                    display: block;
                    margin: 0 auto 40px auto;
                }
                ul {
                    max-width: 536px;
                    display: block;
                    margin: 0 auto;
    
                    li {
                        font-size: 20px;
                        line-height: 1.2em;
                        margin-bottom: 18px;
                    }
                }
            }
        }
        
        .quantity {
            border: 1px solid #000;
            border-radius: 50px;
            display: flex;
            flex-flow: row nowrap;
            justify-content: space-between;
            align-items: center;

            button {
                background: transparent;
                color: rgb(0, 56, 84);
                font-size: 30px !important;
                line-height: 20px !important;

                &:first-of-type {
                    padding: 0 0 0 20px;
                }
                &:last-of-type {
                    padding: 0 20px 0 0;
                }
            }
            input {
                border: none !important;
                appearance: textfield;
                width: 5em !important;
                padding: 10px 0px;
                text-align: center !important;
            }
        }
        .woocommerce-product-gallery {
            display: flex;
            flex-flow: column nowrap;

            .flex-viewport {
                order: 1;
            }
            .flex-control-nav {
                order: 2;
            }
            .drops {
                display: flex;
                flex-flow: row wrap;
                justify-content: space-evenly;
                order: 4;
                margin-top: 50px;
        
                & > div {
                    margin-bottom: 40px;
                    text-align: center;
                    width: 33%;
        
                    img {
                        display: inline;
                        margin-bottom: 5px;
                    }
                    p {
                        font-size: 23px;
                        font-weight: bold;
                        font-family: var(--NovaHeadFont);
                        letter-spacing: 1px;
                        line-height: 1.2em;
                    }
                }
            }
        }
        .woocommerce-tabs {
            ul {
                border-bottom: 4px solid rgb(17, 87, 136);

                li.active a {
                    background: rgb(0, 56, 84);
                    border: none !important;
                }
            }
            .woocommerce-Tabs-panel {
                max-width: 800px;
                margin: 0px !important;
                
                h2 {
                    display: none;
                }
                p {
                    color: rgba(15, 86, 136, 0.75) !important;
                    margin-bottom: 20px;
                    margin-left: 0px !important;
                }
            }
            .product__description {
                text-align: left;
                max-width: 100% !important;
                width: 100%;
            }
        }
    }
    .woocommerce-notices-wrapper {
        margin: 150px auto 0 auto;
        max-width: 1400px;
    }
    .woocommerce-message {
        border-top: 3px solid var(--NovaBlue) !important;

        .button {
            background: var(--NovaBlue) !important;
            border-radius: 100px !important;
            padding: 10px 50px !important;
        }
    }
}
/*============================================================================
                    Product Slideout Menu
=============================================================================*/
.product-slideout {
    box-shadow: -8px -1px 10px 0px rgba(0,0,0,0.2);
	position: fixed;
	top: 0px;
	right: -700px;
	width: 700px;
    max-width: 100%;
	background: #fff;
	z-index: 999999999;
	height: 100%;
    padding: 75px 20px 0 20px;
    transition: 0.4s;

    .menu-toggle {
        top: 10px;
        left: 10px;
        position: absolute;
        cursor: pointer;
    }
    &.open {
        right: 0px;
    }
    .tests-run {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        margin-bottom: 30px;
        border-bottom: 5px solid #000;

        & > div {
            background: var(--NovaYellow);
            color: #fff;
            font-size: 25px;
            font-family: var(--NovaHeadFont);
            font-weight: 600;
            padding: 2px 10px;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        h6 {
            color: #000;
            font-size: 27px;
            font-family: var(--NovaHeadFont);
            font-weight: 600;
        }
        .adjusted-desc {
            display: none;
        }
    }
    .analytes {
        & > div {
            display: none;
            flex-flow: row wrap;
            gap: 10px;

            & > div {
                font-size: 16px;
                font-weight: 600;
                border: 1px solid #000;
                padding: 5px 10px;
                border-radius: 10px;
            }
        }
    }
}
/*============================================================================
                    Responsive
=============================================================================*/
@media screen and (max-width: 1200px) {
    .single-product {
        .product {
            .after-product {
                .how-it-works {
                    flex-flow: column nowrap;
                    
                    h2 {
                        text-align: center;
                    }
                    img {
                        max-width: 600px;
                        margin: 0 auto;
                        width: 100%;
                    }
                }
                .sample-report {
                    flex-flow: column nowrap;

                    h2 {
                        text-align: center;
                    }
                    img {
                        max-width: 600px;
                        margin: 0 auto;
                        width: 100%;
                    }
                }
                .trust-science {
                    .trust-blocks {
                        & > div {
                            width: 31%;
                        }
                    }
                }
                .why-choose {
                    flex-flow: column-reverse nowrap;

                    h2 {
                        text-align: center;

                        br { display: none; }
                    }
                    img {
                        max-width: 600px;
                        margin: 0 auto;
                        width: 100%;
                    }
                }
            }
        }
        p.price {
            margin: 0px !important;
        }
    }
}
@media screen and (max-width: 767px) {
    .single-product {
        .product {
            padding: 0 30px;

            .after-product {
                .how-it-works {
                    h2 {
                        font-size: 52px;
                    }
                }
                .trust-science {
                    & > h2 {
                      font-size: 72px;
                    }
                    .trust-blocks {
                        & > div {
                            width: 26%;

                            h5 {
                                font-size: 26px;
                            }
                            p {
                                font-size: 16px;
                            }
                        }
                    }
                }
                .why-choose {
                    h2 {
                        font-size: 73px;
                    }
                }
                .why-test {
                    & > h2 {
                      color: #000;
                      font-size: 72px;
                    }
                }
            }
        }
    }
    .woocommerce {
        .products {
            padding: 0 30px;
        }
        .woocommerce-ordering {
            margin-bottom: 30px !important;
            padding: 0 30px;
        }
    } 
}
@media screen and (max-width: 600px) {
    .single-product {
        .product {
            .after-product {
                .trust-science {
                    .trust-blocks {
                        & > div {
                            margin-bottom: 50px;
                            width: 100%;
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 500px) {
    .single-product {
        .product {
            padding: 0 20px;

            .after-product {
                .how-it-works {
                    h2 {
                        font-size: 42px;
                    }
                }
                .sample-report {
                    h2 {
                        font-size: 42px;
                    }
                    p {
                        font-size: 18px;
                    }
                }
                .trust-science {
                    & > h2 {
                      font-size: 42px;
                    }
                    & > p {
                        font-size: 16px;
                    }
                }
                .why-choose {
                    h2 {
                        font-size: 42px;
                    }
                }
                .why-test {
                    & > h2 {
                      color: #000;
                      font-size: 42px;
                    }
                    h4 {
                        font-size: 24px;
                    }
                    ul {
                        li {
                            font-size: 18px;
                        }
                    }
                }
            }
            .woocommerce-product-gallery {
                .drops {
                    & > div {
                        img {
                            width: 70px;
                        }
                        p {
                            font-size: 19px;
                        }
                    }
                }
            }
        }
    }
    .woocommerce {
        .products {
            padding: 0 20px;
        }
        .woocommerce-ordering {
            padding: 0 20px;
        }
    } 
}