/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/



/**************************************************

GENERAL STYLES

**************************************************/
h1 {
    font-size: clamp(2.8rem, 5vw, 4.8rem)!important;
}
h2 {
    font-size: clamp(2.2rem, 4vw, 3.2rem) !important;
}
a.elementor-button, .service--tile a.elementor-cta__button {
    clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
    background-color:transparent!important;
    background-image: linear-gradient(to right, #4cb9e7, #0083B0, #2C5364, #203A43, #0F2027)!important;
    background-size: 300% 100%!important;
    background-position: 0% 0%!important;
    transition: all .3s ease-in-out;
}
a.elementor-button:hover, .service--tile a.elementor-cta__button:hover {
    background-position: 100% 0%!important;
}
#productCart--btn button.single_add_to_cart_button  {      
    font-family: "Open Sans", Sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
    background-color:transparent!important;
    background-image: linear-gradient(to right, #4cb9e7, #0083B0, #2C5364, #203A43, #0F2027)!important;
    background-size: 300% 100%!important;
    background-position: 0% 0%!important;
    transition: all .3s ease-in-out;
}
#productCart--btn button.single_add_to_cart_button:hover {
    background-position: 100% 0%!important;
}
.value--btn a.elementor-button {
    background-image: none;
    clip-path: none;
}
.colAlign--left .e-con-inner {
    margin-inline: 0 auto;
}
.colAlign--right .e-con-inner {
    margin-inline: auto 0;
}
div#productMeta .product_meta {
    border: 0;
}
div#content .ast-container {
    max-width: unset;
    padding: 0;
    margin: 0;
}
.dgwt-wcas-sf-wrapp input#dgwt-wcas-search-input-1, div#product--search input.dgwt-wcas-search-input {
    color: #474747 !important;
}
form.woocommerce-form.woocommerce-form-login.login input {
    color: #474747 !important;
}
.ast-separate-container #primary {
    margin: 0 !important;
}

/**** FIREFOX SVG LOGO DISPLAY FIX ****/
@-moz-document url-prefix() {
  #logo img {
    width: 250px!important;    
  }
}

/**************************************************

HEADER STYLES

**************************************************/
div#logo {
    margin-inline: 0 auto;
}
div#site--header > .e-con-inner {
    margin-inline: auto 0;
}
div#headerBtn a {
    z-index: 2;
    clip-path: none!important;
    background-color:transparent;
    background-image: none!important;
    background-size: unset;
    background-position: unset;
    transition: usnet;
}
div#headerBtn a:before {
    content: '';
    position: absolute;
    background-image: linear-gradient(to right, #4cb9e7, #0083B0, #2C5364, #203A43, #0F2027);
    background-size: 300% 100%;
    background-position-x: left;
    top: 0;
    left: 0px;
    width: 100%;
    height: 100%;
    clip-path: polygon(14% 0%, 100% 0%, 100% 100%, 0% 100%);
    z-index: -1;
    transition: all .3s ease-in-out;
}
div#headerBtn a:hover:before {
    background-position-x: right;
}
div#main--nav nav.elementor-nav-menu--main > ul > li > a:before {
    clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}
div#main--nav .elementor-menu-toggle {
    width: 85px;
    clip-path: polygon(18% 0%, 100% 0%, 82% 100%, 0% 100%);
}
#main--nav nav.elementor-nav-menu--dropdown {
    width: unset !important;
    min-width: 175px;
    left: unset !important;
    right: 0;
}
#main--nav nav.elementor-nav-menu--dropdown li.menu-item:first-of-type a {
    padding-top: 1.25em;
}
#main--nav nav.elementor-nav-menu--dropdown li.menu-item:last-of-type a {
    padding-bottom: 1.25em;
}
#main--nav nav.elementor-nav-menu--dropdown li.menu-item a {
    justify-content: end;
}
div#product--cart a, #account--icon a {
    padding: 0.5em;
    clip-path: none;
    background-color: #4cb9e7;
    background-image: unset;
    line-height: 1;
    font-size: 20px;
    border: none;
}
div#product--cart a:hover, #account--icon a:hover {
    background-color: #2A3748;
}
.fibo--search .dgwt-wcas-search-wrapp {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.js-dgwt-wcas-overlay-mobile.dgwt-wcas-overlay-mobile {
    background-color: hsl(0deg 0% 0% / 75%);    
}
form.dgwt-wcas-search-form .dgwt-wcas-sf-wrapp {
    border-radius: 0;
}
form.dgwt-wcas-search-form .dgwt-wcas-sf-wrapp input#dgwt-wcas-search-input-2 {
    color: #000 !important;
}
/* Search Spyglass Icon Fix - 10/30/24 SH */
.elementor-nav-menu a.dgwt-wcas-search-icon,
.elementor-nav-menu a.dgwt-wcas-search-icon:hover {
    padding: 0;
}

/* Search Results ( No Results ) Header width fix - 10/30/24 SH */
div[data-elementor-type="search-results"] {
    width:100%;
}

/**************************************************

HOMEPAGE STYLES

**************************************************/
div#experience--heading h3 {
    font-size: clamp(3rem, 7vw, 7.5rem);
}
.column--slider .elementor-image-carousel.swiper-wrapper img.swiper-slide-image {
    height: 650px;
    width:100%;
    object-fit: cover;
    object-position: center;
}
.column--slider figcaption.elementor-image-carousel-caption {
    margin-top: 0.75em;
}
.column--slider .swiper-pagination {
    display: flex; 
    gap: 0.25em;
}
.column--slider .swiper-pagination span.swiper-pagination-bullet {
    width: clamp(21px, 4vw, 30px)!important;
    border-radius: 0;
    clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
    margin: 0;
}
section#value--section p {
    margin-bottom: 0;
}
.value--btn a.elementor-button {
    background-image: none !important;
}


@media (max-width:1366px) {
    .column--slider .elementor-image-carousel.swiper-wrapper img.swiper-slide-image {
        height: 450px;        
    }
}
@media (max-width:1024px) {
    section#hero--section::before {
        background-image: linear-gradient(180deg, #00000026 0%, #000000BF 100%);
    }
}
@media (max-width:767px) {
    section#hero--section::before {
        background-image: unset;
        background-color: rgb(0 0 0 / 60%);
    }
    .column--slider .elementor-image-carousel.swiper-wrapper img.swiper-slide-image {
        height: 350px;        
    }
}

/**************************************************

INTERIOR STYLES

**************************************************/
.grid--container .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}
.market--tile .elementor-cta__bg.elementor-bg:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: linear-gradient(0deg, rgb(0 0 0 / 50%) 15%, transparent 60%);
}
div#community--list ul.elementor-icon-list-items {
    display: flex;
    gap: 1em;
}
div#community--list ul.elementor-icon-list-items li {
    margin: 0;
    border: 1px solid #ddd;
    padding: .5em .75em;
}
.team--box img {
    min-height: 350px;
    object-fit: cover;
}
span.execTitle {
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
    font-weight: 600;
    color: #888888;
}
a.execEmail {
    color: #004b8f;
    text-decoration: none !important;
    font-size: 15px !important;
}
.team--box h3.elementor-image-box-title {
    margin-bottom: .25em;
}

/**************************************************

CART STYLES

**************************************************/

.service--tile h2 {
    font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator{display:none;}
.woocommerce-cart .shop_table th.product-quantity,
.woocommerce-cart .shop_table td.product-quantity{display:none;}

/*** SLIDEOUT CART ***/
div#product--cart .elementor-menu-cart__main .elementor-menu-cart__product-name a {
    background-color: unset;
    padding: 0;
    color: #272727;
    font-size: 15px;
}
div#product--cart .elementor-menu-cart__main .elementor-menu-cart__product-image a {
    padding: 0;
    border: 1px solid #ddd;
}
div#product--cart span.product-quantity {
    color: #272727;
}
#product--cart .elementor-menu-cart__footer-buttons a {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
    padding: .75em;
}
.product-remove .remove {
    aspect-ratio: 1 / 1;
    width: 20px!important;
}
.product-remove .remove .ahfb-svg-iconset.ast-inline-flex {
    max-width: 20px!important;
}
.product-remove .remove .ahfb-svg-iconset.ast-inline-flex a.remove .ahfb-svg-iconset .ast-close-svg {
    aspect-ratio: 1 / 1;
    width: 20px!important;
    height:auto!important;
}

/*** CART Summary page ***/
div#cart--summary .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
}
div#cart--summary .cart_totals tr.cart-subtotal, .cart_totals tr.order-total {
    display: none;
}
div#cart--summary table.shop_table th.product-price, div#cart--summary table.shop_table th.product-subtotal {
    display: none;
}
div#cart--summary .woocommerce-cart .shop_table a, div#cart--summary .woocommerce-cart .shop_table a:hover {
    font-size: 1rem !important;
    font-weight: 400 !important;
    letter-spacing: 0px !important;
    font-family: inherit !important;
}
#cart--summary form.woocommerce-cart-form td.actions {
    text-align: right !important;
}
#cart--summary form.woocommerce-cart-form td.actions button.button {
    line-height: 1em !important;
    padding: 1em 2em !important;
    border-radius: 0;
}


/**************************************************

CHECKOUT STYLES

**************************************************/
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total{display:none;}


div#checkout--summary h3 {
    font-size: 1.8rem;
    color: #394b5a;
}
div#checkout--summary .woocommerce-privacy-policy-text p {
    font-size: 17px !important;
    line-height: 1.7;
}
#checkout--summary .e-checkout__order_review td.product-name {
    padding: 0;
    max-width: 100%;
}
section.woocommerce-order-details h2.woocommerce-order-details__title {
    padding: .5em !important;
    border: none !important;
}
p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 2rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
}
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li.woocommerce-order-overview__total.total {
    display: none;
}
section.woocommerce-order-details h2.woocommerce-order-details__title {
    padding: .5em!important;
    border: none!important;
}
p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 2rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
}
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li.woocommerce-order-overview__total.total {
    display: none;
}
section.woocommerce-order-details tfoot {
    display: none;
}
table.woocommerce-table.woocommerce-table--custom-fields.shop_table.custom-fields {
    display: none;
}
section.woocommerce-customer-details h2.woocommerce-column__title {
    padding: .5em !important;
    border: none !important;
}
section.woocommerce-customer-details address {
    border-width: 0 0 1px 0 !important;
    border-color: #ddd !important;
}
form.checkout.woocommerce-checkout input, form.checkout.woocommerce-checkout textarea {
    color: #697281 !important;
}
ul#select2-additional_existing_project-results li {
    color: #474747!important;
    background-color: #fff;
}
ul#select2-additional_existing_project-results li:hover {
    color: #fff!important;
    background-color: #004b8f!important;
}
span#select2-additional_existing_project-container span.select2-selection__clear {
    display: none !important;
}   
#additional_packaging_field label[for="additional_packaging"]::after {
  content: "(Our quotes will be based on standard net fill weight. If you need something different, please let us know in the order notes below.)";
  display: block;
  font-size: 0.7rem;
  font-weight: 500;
}
span.select2-selection__clear {
    display: none!important;
}

/**************************************************

MY ACCOUNT STYLES

**************************************************/
.woocommerce-MyAccount-content td {
    border: none;
}
.woocommerce-MyAccount-content a.button {
    font-size: 14px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    padding: 15px !important;
    background-color: #4cb9e7;
}
.woocommerce-MyAccount-content a.button:hover {
    background-color: #2a3748 !important;
}
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account input {
    border: 1px solid #ddd !important;
    color: #474747 !important;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account button.woocommerce-Button.button {
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: 400;
    padding: 15px 30px;
    transition: all .2s ease-in-out;
    background-color: #4cb9e7!important;
}
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account button.woocommerce-Button.button:hover {
    background-color: #2a3748!important;
    color: #fff!important;
}
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account br {
    display: none;
}
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account label {
    margin-bottom: 5px;
}


/**************************************************

GRAVITY FORM STYLES

**************************************************/
p.gform_required_legend {
    display: none;
}
.gfield legend.gfield_label, .gfield label {
    color: #fff !important;
}
.gfield label.gform-field-label--type-sub {
    color: #ddd !important;
    font-size: 14px !important;
}
.gform-body.gform_body .gform_fields {
    grid-row-gap: 1.25em;
}
.gform-body.gform_body .gfield input, .gform-body.gform_body .gfield textarea {
    background-color: rgb(16 16 16 / 15%) !important;
    border: 1px solid rgb(255 255 255 / 8%)!important;    
    color: #fff!important;
}
input[type=email], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
    color: #fff!important;
}
.gform_footer.top_label input.gform_button {
    clip-path: polygon(5% 0%, 99% 0%, 95% 100%, 1% 100%);
    background-color: transparent !important;
    background-image: linear-gradient(to right, #4cb9e7, #0083B0, #2C5364, #203A43, #0F2027) !important;
    background-size: 300% 100% !important;
    background-position: 0% 0% !important;
    transition: all .3s ease-in-out;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 1em !important;
    min-width: 250px !important;
}
.gform_footer.top_label input.gform_button:hover {
    background-position: 100% 0%!important;
}
.gform_footer.top_label {
    justify-content: center;
}
h2.gform_submission_error.hide_summary {
    font-size: 1rem !important;
    margin-bottom: 0;
}
.gform_confirmation_message {
    border: 1px solid rgb(255 255 255 / 20%);
    display: flex;
    flex-flow: column;
    padding: 2em;
    justify-content: center;
}
.gform_confirmation_message h3 {
    color:#fff;
    margin-bottom: .5em;
    text-align: center;
}
.gform_confirmation_message p {
    color:#fff;
    margin-bottom:0;   
    text-align: center;
}
.gform_confirmation_message br {
    display: none;
}



/**************************************************

SHOP / PRODUCT STYLES

**************************************************/
h2.woocommerce-loop-category__title, h2.woocommerce-loop-product__title {
    font-size: clamp(.9rem, 1.5vw, 1.6rem) !important;
    line-height: 1.2em !important;
    text-transform: capitalize !important;
    background-color: transparent !important;
    color: #fff;
    z-index: 2;
    padding: 0 !important;
    text-align: left !important;
    left: 1.5em !important;
    right: 1.5em !important;
    bottom: 1.5em !important;
}
h2.woocommerce-loop-category__title mark.count {
    color: #fff;
    opacity: 1 !important;
    margin-top: .5em;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: capitalize!important;
    font-size: 1rem !important;
}
h2.woocommerce-loop-product__title {
    font-size: 1.2rem !important;
    line-height: 1.2em !important;
    text-transform: capitalize !important;
    color: #424242;
    font-weight: 500;
}
div#product--list ul.products.elementor-grid, div#product--grid ul.elementor-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(303px, 1fr)) !important;
}
div#product--list ul.products.elementor-grid li.product a {
    width: 100%;
    min-height: 500px;
}
div#product--list ul.products.elementor-grid li.product {
    transit: all .3s ease-in-out;;    
}
div#product--list ul.products.elementor-grid li.product:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, rgb(0 0 0 / 75%), rgb(0 0 0 / 0%) 40%);
    left: 0;
    top: 0;
    pointer-events: none;    
}
div#product--list ul.products.elementor-grid li.product:hover:after {
    background-image: linear-gradient(0deg, rgb(14 116 152 / 75%), rgb(76 185 231 / 75%) 30%);
    transition: all .3s ease-in-out;
}
a.button.product_type_simple {
    font-family: "Open Sans", Sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1em;
    transition: all .3s ease-in-out;
    background-color: transparent !important;
    color: #000000 !important;
    padding: .5em 0 .5em 1em;
    border-left: 4px solid #4cb9e7;
}
a.button.product_type_simple:hover, a.button.product_type_simple:focus {
    color: #4cb9e7!important;
    border-color: #4cb9e7!important;
    border-left: 4px solid #4cb9e7;
}
form.woocommerce-ordering select.orderby, form.woocommerce-ordering select.orderby:visited, form.woocommerce-ordering select.orderby:active, form.woocommerce-ordering select.orderby:target {
    border-width: 0 0 1px 0!important;
    border-style: solid!important;
    border-color: #ddd!important;
}
.elementor-menu-cart__subtotal {
    display:none;
}
.elementor-menu-cart__product-remove:after, .elementor-menu-cart__product-remove:before {
    background: #a94b4b!important;
}
h1.product_title {
    font-size: clamp(1rem, 4vw, 2.4rem) !important;
}
.quantity input, .quantity input:focus {
    border: 1px solid #ddd !important;
}
button.single_add_to_cart_button:focus {
    border: none !important;
}
div#productMeta .product_meta span, div#productMeta .product_meta a, div#productMeta .product_meta a:hover {
    font-size: 15px !important;
}
div#additional--info a {
    pointer-events: none;
    color: #2a3748;
    font-style: normal;
}
table.woocommerce-product-attributes.shop_attributes th, table.woocommerce-product-attributes.shop_attributes td {
    border-width: 1px 0 0 0;
    border-style: solid;
    border-color: #ddd;
}
table.woocommerce-product-attributes.shop_attributes {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color:#ddd;
}
#productMain--img .elementor-widget-container {
    overflow: hidden;
}
div#pdf--link a:before {
    content: '';
    position: relative;
    display: inline-block;
    aspect-ratio: 1 / 1;
    background-image: url(/wp-content/uploads/2024/09/pdf.png);
    background-size: contain;
    width: 30px;
    background-repeat: no-repeat;
    margin-right: .75em;
    left: 0;
    top: 8px;
}
div#pdf--link a {
    color: #004b8f;
}
div#pdf--link a:hover {
    color: #4cb9e7;
}

/**************************************************

FOOTER STYLES

**************************************************/
@media (min-width:767px) {
    #footer--qlinks ul.elementor-icon-list-items {
        column-count: 2;
        gap: 3em;
    }
}

body:not(.home) span#copyright {
    display:none;
}
span#copyright a {
    color: #ddd;
    font-size: 14px;
    line-height: 1em;
}
div#footer--white span#copyright a {
    color: #272727;
}
span#copyright a:hover, div#footer--white span#copyright a:hover {
    color: #4cb9e7;
}