/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* global */
* {
    transition: all 0.3s ease-out;
}

html {
    scroll-behavior: smooth;
}


hanging-punctuation: first la body {
    font-variation-settings: "slnt"0, "FLAR"100, "VOLM"100;
}

nav.main-navigation {
    margin-bottom: 0px;
    border-bottom: none;
    box-shadow: none;
}

#site-navigation .inside-navigation .menu-bar-items {
    display: flex;
    flex-direction: row;
    /* flex: 1; */
}

span.menu-bar-item.wc-menu-item,
.upsell-price-row button {
    order: 2;
    margin-left: auto;
    z-index: 1;
    background-color: var(--accent) !important;
    color: var(--contrast) !important;
}

span.menu-bar-item.wc-menu-item:hover,
.upsell-price-row button:hover {
    background-color: var(--contrast-2) !important;
    color: var(--accent) !important;
}

span.menu-bar-item.wc-menu-item:hover .cart-contents>span.number-of-items {
    background-color: var(--contrast-2) !important;
    color: var(--accent) !important;
}

.a dd-to-cart-panel {
    bottom: 0 !important;
    top: auto !important;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
}

.add -to-cart-panel.show-sticky-add-to-cart {
    transform: translateY(0) !important;
}

ol,
ul {
    margin: 0 0 1.5em 1.5em;
}

body.search .page-title {
    display: none;
}

/* header/nav ************/
.main-navigation,
.sub-menu {
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .2) !important;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    overflow: visible !important;
}

.header-wrap #site-navigation:not(.toggled) .main-nav>ul>li>a {
    text-shadow: var(--contrast) 0px 0px 3px;
}

.icon-search svg,
.shopping-cart svg {
    height: 2em;
    width: 2em;
    top: 0.7em;
}

.cart-contents>span.number-of-items {
    background-color: var(--contrast);
    font-size: inherit;
    top: -8px;
    line-height: 1.65em;
}

.header-wrap #site-navigation:not(.toggled) .main-nav>ul>li[class*="current-menu-"]>a,
.header-wrap #mobile-header:not(.toggled) .main-nav>ul>li[class*="current-menu-"]>a,
.header-wrap #site-navigation:not(.toggled) .main-nav>ul>li[class*="current-menu-"]:hover>a,
.header-wrap #mobile-header:not(.toggled) .main-nav>ul>li[class*="current-menu-"]:hover>a {
    color: var(--accent);
}

/* mega menu ************************/
.main-navigation .main-nav ul li.mega-menu ul li a {
    text-align: center;
    padding: 10px;
}

.main-navigation .main-nav ul li.mega-menu ul li:hover {
    background-color: var(--base);
}

.main-navigation .main-nav ul ul li a img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
    object-position: center center;
    margin-bottom: 5px;
    border-radius: 1rem;
}


/* Overlay panels ********************/
.gbp-overlay-panel.gb-element-6a8b2720 .fluentform {
	margin: 0 auto;
}


/* Home page ******************/
.background-video {
    position: absolute;
    opacity: 0.3;
}

video[poster] {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* Content ******************/

body:not(.home) .full-width-content.one-container .site-content,
body:not(.home) .full-width-content.separate-containers .inside-article {
    padding: 40px;
    max-width: 1400px;
    margin: 0 auto;
}

body:not(.home) .gb-container-aa8d71aa:before {
    background-position: center center;
}



/* Forms ******************/
textarea,
input,
select,
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.select2-selection__rendered {
    border-radius: 2px !important;
    border-width: 2px !important;
    hanging-punctuation: none;
    border-color: #e0e0e0;
}

button {
    border-radius: 3px !important;
    border: none !important;
}

.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--contrast);
}

/* Comments ********************/
body.page .comments-area {
    display: none;
}

.comments-area {
    max-width: 828px;
    margin: 0 auto;
}

.ff-message-success {
    border: 1px solid var(--base-2);
    background: var(--accent);
}

/* Woo ************************/
.woo-related-products-container .products .star-rating {
    display: none;
}

.woocommerce-store-notice,
p.demo_store {
    background-color: var(--accent);
    color: var(--contrast);
}

.woocommerce-store-notice a,
p.demo_store a {
    color: var(--contrast-2);
}


.woocommerce div.product {
    margin-bottom: 60px !important;
}

.woocommerce .woocommerce-breadcrumb {
    margin: 0 0 2em;
}

span.pfs {
    display: inline-flex;
    align-items: center;
    column-gap: 0.5em;
    padding: 5px 15px;
    border-radius: 50px;
    border: 1px solid var(--success);
    background-color: var(--base-3);
    font-weight: normal;
    font-size: 18px;
    margin: 0 0 1px 10px;
}

span.pfs span.small, small { font-size:  14px; }

#woocommerce-product-data .hndle label:first-child {
    border-right: 0;
}

.pswp__caption__center {
    display: none;
}

.woocommerce .product-gallery-grid-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.woocommerce div.product div.images.product-gallery-grid a {
    padding: 0 20px 20px 0;
}


div.woocommerce-product-gallery.woocommerce-product-gallery--with-images.product-gallery-grid.images > figure > div > div:nth-child(1)
,
.product-gallery-grid-row:first-child {
    width: 100%;
}

.product-gallery-grid-row img,
.wc-product-image img,
.wc-block-components-product-image img,
.wc-block-grid__product-image img {
    border-radius: 5px !important;
}


.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    width: 48%;
    float: right;
}

ul.wc-tabs {
    display: none !important;
}

.estdt {
    font-weight: bold;
}

.summary p.price,
.woocommerce-product-details__short-description,
form.variations_form,
.woocommerce div.product form.cart,
.gb-container-14bea29f {
    background-color: var(--base-2);
    padding: 5px 10px;
    margin-bottom: 0;
    border-right: 3px solid var(--base);
    border-left: 3px solid var(--base);
}

.summary p.price {
    border-radius: 10px 10px 0 0;
    border-top: 3px solid var(--base);
}

.gb-container-14bea29f {
    border-radius: 0 0 10px 10px;
    margin-bottom: 40px;
    border-bottom: 3px solid var(--base);
}

form.variations_form,
.woocommerce div.product form.cart {
    background-color: var(--base-1);
    padding: 10px 20px 25px;
}

.woocommerce-variation-price {
    /*
    margin-bottom: 23px;
    background-color: var(--contrast-2);
    color: var(--base-2);
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 3px;
    font-size: 20px;
    display: inline-block;
    */
}

.woocommerce-variation-price .pfs,
#wc-sticky-cart-panel .pfs,
.wc-block-grid__product-price .pfs,
#woorelatedproducts .pfs,
.woo-related-products-container .pfs,
ul.products .pfs,
body.woocommerce-cart form .pfs,
.cart-checkout-upsell .pfs {
    display: none;
}

.product_meta {
    border: none;
    padding-top: 0;
}

.wc-block-product-template.wc-block-product-template {
    margin: 0;
}

/* Free shipping progress bar ************************/

.free-shipping-bar {
  margin: 0 0 24px 0;
    padding: 1em 1.5em !important;
    background-color: var(--accent-light);
  border: 1px solid var(base);
  border-radius: 3px;
    }
.free-shipping-achieved .free-shipping-bar {
    background-color: var(--base-2);
  border: 1px solid var(base);
  border-radius: 3px;
    }

  p {
    margin:0 0 10px 0;
  }
  .progress-bar-container {
    margin-top: 10px;
    background-color: #fff;
    border:1px solid var(--base-2);
    border-radius: 20px;
    height: 20px;
    overflow: hidden;
  }
  .progress-bar {
    background-color: var(--contrast-3);
    height: 100%;
  }
  span.svgIcon {
    float: left;
    margin: 0 10px 0 0;
    top: -1px;
    position: relative;
  }
  span.svgIcon svg {
    height: 30px;
    width: auto;
    color: red;
  }
  strong {
    
  }
}


/* Custom Fields / Coupons / Gift cards ************************/
.wapf-field-label {
    padding-left: 8px;
}

.rush-fee {
    background-color: var(--accent-light);
    border-radius: 5px;
    padding: 1em 1.5em !important;
}

.agcfw-variable-product-fields {
    margin-top: 1em;
    background-color: var(--accent-light);
    border-radius: 3px;
    padding: 5px;
    margin-bottom: 1em;
}

.agcfw-variable-product-fields:nth-child(2) {
    margin-bottom: 0;
}

article.product_cat-gift-cards span.pfs {
    display: none;
}

/* Catalog ************************/
body.post-type-archive-product ul.products li a.button,
body.tax-product_cat ul.products li a.button {
    min-height: 65px;
}


/* Cart ************************/
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled[disabled] {
    color: var(--base-3);
}

body.woocommerce-cart .cart-checkout-upsell {
    margin: 4em 0;
    padding: 1em;
    border: 2px solid #e0e0e0;
    border-radius: 5px;
    float: left;
    width: 48%;
    background-color: var(--base-2)
}

.cart-checkout-upsell .upsell-price-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    margin-top: 5px;
}

body.woocommerce-cart ul#shipping_method {
    margin-bottom: 30px !important;
}

ul#shipping_method li {
    padding: 5px;
}

ul#shipping_method li:last-child {
    background-color: var(--accent-light);
    border-radius: 3px;
}


/* Checkout ************************/
body.woocommerce-checkout #primary-menu,
body.woocommerce-checkout .menu-bar-items {
    display: none !important;
}

body.woocommerce-checkout .gb-container-280debd2 {
    padding: 200px 40px 0;
    min-height: unset;
}

a.cart-contents {
    color: var(--contrast) !important;
}
a.cart-contents:hover {
    color: var(--accent) !important;
}

.header-wrap #site-navigation:not(.toggled) .main-nav>ul>li>a:hover,
.header-wrap #mobile-header:not(.toggled):not(.navigation-stick) .main-nav>ul>li>a:hover,
.header-wrap .main-navigation:not(.toggled):not(.navigation-stick) .menu-toggle:hover,
.header-wrap .main-navigation:not(.toggled):not(.navigation-stick) .menu-toggle:hover,
.main-navigation:not(.toggled):not(.navigation-stick) .menu-bar-item:not(.close-search)>a:hover {
    color: var(--accent) !important;
}

body.woocommerce-checkout tr.cart_item .product-name {
    font-weight: bold;
}

tr.cart_item dl.variation {
    font-size: 15px;
    padding-left: 10px;
    margin-top: 5px font-weight: 300 !important;
}

ul.woocommerce-error a {color: var(--base-3);


/* Misc ************************/
.sharedaddy {
    max-width: 1480px;
    font-size: 14px;
    padding: 0 40px 10px;
    margin: 0 auto;
}

/* Animate CSS **********************************************************************/
@media (prefers-reduced-motion: no-preference) {

    /* Base states (hidden before scroll) */
    .animateup,
    .animateup2,
    .animateup3,
    .animateup4,
    .animateleft,
    .animateright {
        opacity: 0;
        will-change: opacity, transform;
    }

    /* Default transform positions */
    .animateup,
    .animateup2,
    .animateup3,
    .animateup4 {
        transform: translateY(100px);
    }

    .animateleft {
        transform: translateX(100px);
    }

    .animateright {
        transform: translateX(-100px);
    }

    /* Animation timing and transitions */
    .animateup {
        transition: opacity 1s ease, transform 0.6s ease;
        transition-delay: 0s;
    }

    .animateup2 {
        transition: opacity 1s ease, transform 0.6s ease;
        transition-delay: 0.2s;
    }

    .animateup3 {
        transition: opacity 1s ease, transform 0.6s ease;
        transition-delay: 0.4s;
    }

    .animateup4 {
        transition: opacity 1s ease, transform 0.6s ease;
        transition-delay: 0.6s;
    }

    .animateleft {
        transition: opacity 1s ease, transform 0.6s ease;
    }

    .animateright {
        transition: opacity 1s ease, transform 0.6s ease;
    }

    /* Visible state (after scroll trigger) */
    .animateup.is-visible,
    .animateup2.is-visible,
    .animateup3.is-visible,
    .animateup4.is-visible,
    .animateleft.is-visible,
    .animateright.is-visible {
        opacity: 1;
        transform: translate(0, 0);
    }
}


/* Visible states — NOTE: new classes are included here */
.animateup.is-visible,
.animateup2.is-visible,
.animateup3.is-visible,
.animateup4.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.animateleft.is-visible,
.animateright.is-visible {
    opacity: 1;
    transform: translateX(0);
}
}

@media (prefers-reduced-motion: no-preference) {

    .animateup,
    .animateleft,
    .animateright {
        opacity: 0;
        transition: opacity 1s ease, transform 0.6s ease;
        will-change: opacity, transform;
    }

    .animateup2 {
        opacity: 0;
        transition: opacity 1s ease, transform 0.7s ease;
        will-change: opacity, transform;
    }

    .animateup3 {
        opacity: 0;
        transition: opacity 1s ease, transform 0.8s ease;
        will-change: opacity, transform;
    }

    .animateup4 {
        opacity: 0;
        transition: opacity 1s ease, transform 0.9s ease;
        will-change: opacity, transform;
    }

    .animateup,
    .animateup2,
    .animateup3,
    .animateup4 {
        transform: translateY(100px);
    }

    .animateleft {
        transform: translateX(300px);
    }

    .animateright {
        transform: translateX(-300px);
    }

    .animateup.is-visible,
    .animateleft.is-visible,
    .animateright.is-visible {
        opacity: 1;
        transform: translate(0, 0);
    }

    /* Disable animation in the editor preview */
    .editor-styles-wrapper .animateup,
    .editor-styles-wrapper .animateleft,
    .editor-styles-wrapper .animateright {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}






/* GeneratePress Site CSS */
/*Container links*/
.wander-container-link a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
}

.gb-container.wander-container-link:hover:before {
    opacity: 0.8;
    transform: scale(1.04);
}

.gb-container.wander-container-link {
    transition: all 0.3s ease;
}

/* Remove border radius for WooCommerce blocks buttons */
.wp-block-button__link {
    border-radius: 0;
}

/* Change WooCommerce blocks column number on tablet */
@media (max-width: 1024px) and (min-width: 768px) {
    ul.wc-block-grid__products>li.wc-block-grid__product {
        max-width: 50% !important;
        flex: 1 0 50% !important;
    }
}

/* End GeneratePress Site CSS */

/* responsive */
@media(min-width:901px) {

    .navigation-branding img,
    .site-logo.mobile-header-logo img {
        max-width: 300px;
        height: auto !important;
    }
    
    .woocommerce-checkout .col2-set {
        width: 40% !important;
    }
    
    #customer_details+#wc_checkout_add_ons, #order_review, #order_review_heading {
    width: 54% !important;
    }


}

@media(max-width:900px) {

    .post-image-aligned-center .featured-image img {
        aspect-ratio: 3 / 2;
    }

}

@media (min-width: 769px) {

    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu>ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }

    nav .main-nav .mega-menu>ul>li>a {
        font-weight: bold;
    }

    nav .main-nav .mega-menu>ul>li {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 50%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu>ul>li:hover>a,
    nav .main-nav .mega-menu>ul>li:focus>a,
    nav .main-nav .mega-menu>ul>li[class*="current-"]>a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
        pointer-events: auto;
        transform: scale(1);
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }

    .woocommerce div.product div.images.product-gallery-grid img {
        height: auto;
    }
}

@media (max-width: 450px) {
    .woocommerce div.product div.images.product-gallery-grid img {
        height: auto;
    }
}

@media(min-width:416px) {

/*
    body.home .gb-container-aa8d71aa:before {
        background-image: none;
    }
*/

}

@media(max-width:415px) {

    .post-image-aligned-center .featured-image img {
        aspect-ratio: 3 / 3;
    }
/*
    .gb-container-aa8d71aa video {
        display: none;
    }
*/
    .summary p.price,
    .woocommerce-product-details__short-description,
    form.variations_form,
    .woocommerce div.product form.cart,
    .gb-container-14bea29f {
        padding: 10px 10px !important;
        font-size: 90%
    }


}