/**
Theme Name: Mount Baker
Author: Factors Group
Author URI: http://factorsgroup.com
Description: Starter Child theme, based on Astra
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mount-baker
Template: astra
*/

:root {
    /* just ease is good for hover effects  */
    /* linear is good for constant rotaion effects  */
    /* mostly use  */
    --ease-out-quad: cubic-bezier(.25, .46, .45, .94);
    --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
    --ease-out-quart: cubic-bezier(.165, .84, .44, 1);
    --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
    --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
    --ease-out-circ: cubic-bezier(.075, .82, .165, 1);
    /* elements already on the page  */
    --ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
    --ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
    --ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);
    --ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
    --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
    --ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);
    /* column gaps for content columns on homepage  */
    --vg-column-gap: 60px;
	--vg-tablet-gap: 40px;
	--vg-mobile-gap: 32px;
    --primary-color: #4DA53E;
    --darkgreen-color: #005229;
    --lightgreen-color: #00994C;
    --inner: 1rem;
    --gutter: 2rem;
    --text-dark: #002914;
    --form-field-border: #C2C2C2
}


/* Ultimate Addons for Gutenberg Carousel Slick Dots Buttons  */

.wp-block-uagb-post-carousel .slick-dots button {
    box-shadow: none;
}


/* WooCommerce Blocks Next Previous Buttons */

.wc-block-next-previous-buttons button {
    box-sizing: content-box;
    height: auto;
    width: 100%;
}


/* Astra Container Overrides */
.ast-separate-container .ast-article-single:not(.ast-related-post), .woocommerce.ast-separate-container .ast-woocommerce-container, .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container .site-main .ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description, .ast-separate-container .comments-area {
    background-color: transparent;
}



/* WooCommerce PDP */

.woocommerce-js div.product form.cart .variations{
    margin-bottom: 0;
}

.woocommerce-js div.product form.cart .variations {
    border-bottom: none;
}

.woocommerce-js div.product .product_meta>span.tagged_as {
    display: none;
}

/* Remove Zoom Product Title Caption */

.pswp__caption {
    display: none;
}

/* Removed Astra figure box-shadow */
.ast-article-single figure, .ast-article-single img:not(figure img) {
    box-shadow: none;
}

/* ----------------------------------------
   Typography
---------------------------------------- */

/* soften the text selection highlight */
::selection {
	background: rgba(210, 230, 90, 0.3);
	color: inherit;
}


.ff-proxima-nova > *{
    font-family: 'Proxima-Nova', proxima-nova, sans-serif !important;
    font-weight: 700 !important;
}


body:not(.home) {
    position: relative;
}

body:not(.home)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25vh;
    background: linear-gradient(
        180deg,
        #B7E9E6 0%,
        rgba(183, 233, 230, 0) 90.56%
    );
    pointer-events: none;
    z-index: -1;
}

@media (min-width: 1024px) {

    body:not(.home)::before {
        height: 360px;
    }
}

h2,
.woocommerce-js h2 {
    margin-bottom: .45rem;
}

.entry-content :where(h1,h2,h3,h4,h5,h6) {
    margin-bottom: .55rem;
}

/* ----------------------------------------
   Main Navigation Overrides
---------------------------------------- */

@media (min-width: 1024px) {
 
    body.home .site-header {
        position: absolute;
        width: 100%;
    }
    .ast-primary-header-bar {
        background: transparent;
    }

}

/* General Menu Item Label Styling */

.main-header-menu .menu-item.menu-label > a,
.ast-mobile-popup-content .menu-item.menu-label > a {
    pointer-events: none;         
    cursor: default;
}

.main-header-menu .menu-item.menu-label > a {
    text-decoration: none;
}

.ast-builder-menu-1 .menu-item > .menu-link {
    font-weight: 500;
}

.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item {
    height: 3rem;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
    /* font-weight: 600;
    position: relative; */
}

.ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
.ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-ancestor > .menu-link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 8px;
    height: 2px;
    background: #005229;
    border-radius: 4px;
}

/* mobile menu */
#ast-mobile-header .content-align-flex-start {
    max-height: none;
    height: 100vh;
}

.ast-header-break-point .ast-icon.icon-arrow svg {
    margin-left: 0;
}

/* ----------------------------------------
   Search Icon Overrides
---------------------------------------- */

@media (min-width: 1024px) {
    .site-header-section>* {
        padding: 0;
        padding-right: 8px;
    }
}

.ast-icon.icon-search svg {
    margin: 0;
}

.ast-search-icon .icon-custom {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.ast-search-icon .icon-custom svg {
    width: 24px;
    height: 24px;
    fill: none !important;
    overflow: visible;
}

.ast-search-icon .icon-custom svg path {
    fill: none !important;
    stroke: #005229 !important;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ----------------------------------------
   Homepage Items
---------------------------------------- */

h1.uagb-heading-text strong,
h1.wp-block-heading strong {
    color: #005229;
}

@media (min-width: 1024px) {
    .home-hero-p {
        padding-right: 90px;
    }
}

.broccoli-position {
    position: relative;
    margin-top: -60px;
}

/* Desktop hero overflow */
@media (min-width: 1580px) {

    .home-hero {
        overflow: visible !important;
    }

    .home-hero-img {
        position: relative;
        z-index: 2;
        overflow: visible;
    }

    .home-hero-img img {
        width: 132%;
        max-width: none;
        height: auto;
        margin-bottom: -100px;

        /* Pull image beyond its normal column */
        transform: translate(-60px, 0px);
    }

    .home-intro {
        margin: auto;
        max-width: 777px;
    }

    .broccoli-position {
        position: absolute;
        top: -40px;
        left: -112px;
    }

    .broccoli-paragraph {
     margin-left: -140px;
    }
}


@media (min-width: 1024px) {
    .home-our-world figure {
        position: absolute;
        left: -200px;
        top: 50%;
    }
}

.entry-content ul, ol {
    margin-bottom: 1.6em!important;
}

/* ----------------------------------------
   Flowing 3-column text
---------------------------------------- */

@media (min-width: 1024px) {
	.vg-three-col-copy .wp-block-paragraph {
		column-count: 3;
		column-gap: var(--vg-column-gap);
	}
}

/* ----------------------------------------
   Structured 3-column row
   media | text | list
---------------------------------------- */

.vg-three-col-row .wp-block-uagb-image {
	align-self: start !important;
}

.vg-three-col-row .wp-block-uagb-image__figure {
	margin-top: 0 !important;
	align-self: start;
}

/* Desktop: image | paragraph | list */
@media (min-width: 1024px) {
	.vg-three-col-row > .uagb-container-inner-blocks-wrap {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--vg-column-gap);
		align-items: start;
	}

	.vg-three-col-row > .uagb-container-inner-blocks-wrap > .wp-block-uagb-image,
	.vg-three-col-row > .uagb-container-inner-blocks-wrap > p,
	.vg-three-col-row > .uagb-container-inner-blocks-wrap > ul {
		min-width: 0;
		margin-top: 0;
	}
}

/* Tablet: image | stacked content */
@media (min-width: 768px) and (max-width: 1023px) {
	.vg-three-col-row > .uagb-container-inner-blocks-wrap {
		display: grid !important;
		grid-template-columns: 1fr 2fr;
		column-gap: var(--vg-tablet-gap);
		align-items: start;
	}

	.vg-three-col-row > .uagb-container-inner-blocks-wrap > .wp-block-uagb-image {
		grid-row: 1 / span 2;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.vg-three-col-row > .uagb-container-inner-blocks-wrap {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: var(--vg-mobile-gap);
	}
}

/* ----------------------------------------
   WooCommerce overrides
---------------------------------------- */

.archive #primary {
    margin: 0;
}


.astra-advanced-hook-3031 .wp-block-uagb-call-to-action .uagb-cta__buttons {
    display: none;
}

.woocommerce-loop-product__title {
    color: var(--lightgreen-color);
}

.woocommerce .related.products > h2 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.woocommerce-js ul.products li.product, .woocommerce-page ul.products li.product {
    margin-bottom: 10px !important;
}


/* 
astra-advanced-hook-3747 : Recipes Above Hook 
*/

@media (min-width: 1024px) {

    .astra-advanced-hook-3488,
    .astra-advanced-hook-3747,
    .astra-advanced-hook-3482 {
        position: relative;
    }

    .astra-advanced-hook-3031 {
        position: relative;
        padding-bottom: 40px;
        margin-bottom: 60px;
    }

    .summary.entry-summary {
        border-top: 5px solid var(--primary-color);
        padding-top: 30px;
        padding-bottom: 30px;
    }

.woocommerce-js div.product div.summary {
    margin-bottom: 0;
}

   
    .astra-advanced-hook-3488:before,
    .astra-advanced-hook-3482:after,
    .astra-advanced-hook-3747:after,
    .astra-advanced-hook-3031:after {
        position: absolute;
        content: "";
        height: 5px;
        background: var(--primary-color);
        max-width: 450px;
        width: 50%;
        left: 0;
    }
    
    .astra-advanced-hook-3488:before {
        top: 0;
    }
    .astra-advanced-hook-3747:after,
    .astra-advanced-hook-3482:after,
    .astra-advanced-hook-3031:after {
        bottom: 0;
    }

    .woocommerce .related.products > h2 {
        margin-top: 0;
        margin-bottom: 60px;
    }

}

@media (min-width: 1320px) {
 .astra-advanced-hook-3031 .wp-block-uagb-container {
        margin: auto;
        width: 93.333%;
    }

}


/* hide prices everywhere */
.woocommerce .price {
    display: none;
}

/* Fix WooCommerce Product Gallery Shadow */
.woocommerce-product-gallery__wrapper {
    box-shadow: none !important;
}

/* PDP page adjustment */
@media (min-width: 700px) and (max-width: 1320px) {
  .woocommerce .ast-woocommerce-container div.product div.images,
  .woocommerce-page .ast-woocommerce-container div.product div.images {
    float: left !important;
    width: 44% !important;
    margin-top: 40px !important;
  }

  .woocommerce .ast-woocommerce-container div.product div.summary,
  .woocommerce-page .ast-woocommerce-container div.product div.summary {
    width: 55% !important;
    float: right !important;
    margin-top: 40px !important;
  }
}

/* PDP image on the right */
/* Tablet + Desktop */
@media (min-width: 700px) {

    .single-product div.product {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }

    .single-product div.product div.images {
        float: none;
        width: 50%;
    }

    .single-product div.product div.summary {
        float: none;
        width: 50%;
    }
}


.woocommerce-js div.product .product_meta>span.posted_in {
    display: none;
}

/* Products Details style */ 
 .woocommerce-js div.product .product_meta {
    display: grid;
    grid-template-rows: masonry;
    grid-template-areas:
        "npn"
        "upc"
        "sku"
        "benefit"
        "category";
}   

/* NPN hook */
.astra-advanced-hook-2542 {
    grid-area: npn;
}

/* Category */
.tagged_as {
    grid-area: category;
}

/* SKU */
.sku_wrapper {
    grid-area: sku;
}

/* UPC */
.guid_wrapper {
    grid-area: upc;
}

/* Benefits hook */
.astra-advanced-hook-4469 {
    grid-area: benefit;
}

table.fg-table {
    /* margin: 0; */
}

table.fg-table td {
    padding: 4px 8px;
    line-height: 1.4;
    font-size: 14px;
}

table.fg-table td+td {
    /* width: 12ch; */
    min-width: fit-content;
    text-align: right;
    vertical-align: top;
}

.ast-article-single figure, .ast-article-single img:not(figure img) {
    box-shadow: none;
}

table, td, th {
    border: 1px solid #ccc;
}

.ast-variation-button-group .ast-single-variation.active,
.ast-variation-button-group .ast-single-variation.active:hover {
    color: white;
    background: var(--darkgreen-color);
    border: 2px solid var(--darkgreen-color);
    cursor: default;
}

.ast-variation-button-group .ast-single-variation {
    text-transform: uppercase;
    border-radius: 2px;
    color: #595959;
    border: 2px solid #A6A6A6;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .6px;
    padding: 4px 16px;
}

.ast-variation-button-group .ast-single-variation:hover {
    color: white;
    background: var(--lightgreen-color);
    border: 2px solid var(--lightgreen-color);
}

/* Mobile */
@media (max-width: 543px) {
    .ast-variation-button-group .ast-single-variation {
        font-size: 14px;
        padding: 2px 8px;
    }
}

/* PDP */
/* Pages with Left sidebar */
@media (min-width: 922px) {
    .page.ast-right-sidebar #secondary {
        width: 25%;
    }
    .page.ast-right-sidebar #primary {
        width: 75%;
    }
}

/* Hide all accordions initially */
.accordion {
  visibility: hidden;
}

/* hide empty p tags */
.accordion .uagb-cta__buttons,
p:empty {
  display: none;
}

/* Gravity forms */
/* https://docs.gravityforms.com/category/user-guides/design-and-layout/css-selectors/ */

/* Hide the default requirement asterisk and add custom one in the legend for better accessibility */
.gform_heading .gform_required_legend {
    display: none;
}


/* Recipes and Blogs */
.ast-blog-featured-section.post-thumb.ast-blog-single-element {
    border-top: 5px solid var(--primary-color);
}
.ast-blog-featured-section.post-thumb.ast-blog-single-element img {
    border-radius: 0 0 0 12px;
    aspect-ratio: 3/2;
}

.recipe-category {
    font-size: 17px;
    line-height:1.3;
    font-weight: 700;
    color: var(--primary-color);
}


/* Recipe Filter */
.astra-advanced-hook-3754  {
    padding: 27px;
    padding-bottom: 0;
}


.recipe-filter {
	margin-bottom: 15px;
}

.recipe-filter__label {
	display: block;
	font-weight: 700;
	color: #00552c;
}

.recipe-filter__options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
}

.recipe-filter__options label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #00552c;
	cursor: pointer;
}

.related-product-title {
    margin-bottom: 8px;
}

/* Checkbox */
.recipe-filter__options input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	cursor: pointer;
	/* accent-color: #48a942; */
}

/* Keyboard accessibility */
.recipe-filter__options input[type="checkbox"]:focus-visible {
	outline: 2px solid #00552c;
	outline-offset: 3px;
}

/* Filtered Astra cards */
article.type-recipe.ast-archive-post[hidden] {
	display: none !important;
}


/* Blog */
.single .entry-header .post-thumb {
    margin-bottom: 1em;
    border-radius: 0 0 0 20px;
    overflow: hidden;
    border-top: 7px solid var(--primary-color);
}

.single .entry-content *.uagb-heading-text {
    margin-bottom: 12px !important;
}
.single .entry-content p.wp-block-paragraph {
    margin-bottom: 12px !important;
}

.single  .entry-content > * {
    margin-bottom: 0;
}

/* remove blog article card bg */
.ast-separate-container .ast-article-inner {
    background-color: transparent;
}


/* ----------------------------------------
   Footer navigation overrides
---------------------------------------- */
#astra-footer-menu .menu-item > a {
    font-weight: 500;

}

/* ----------------------------------------
   Boostrap 5
---------------------------------------- */

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}   

.mb-0 {
    margin-bottom: 0 !important;
}
.m-0 {
    margin: 0 !important;   
}

.mb-1 {
    margin-bottom: .25rem !important;
}

.visually-hidden {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    position: absolute !important;
}

