/*

 Theme Name:   Astra Child

 Theme URI:    http://chemteq.net/astra-child/

 Description:  Child theme for the Astra theme

 Author:       Michael Kirollos

 Author URI:   http://chemteq.net

 Template:     astra

 Version:      1.4.77

*/

body {
    background-color: #f0f0f070;
}

.home-banner-section {
    position: relative;
    text-align: center; 
    max-height: 450px; 
    overflow: hidden;
}

.home-banner-section > div {
    height: 100%; /* or a specific height like 350px */
    width: 100%; 
    box-sizing: border-box; /* Optional */
}


.home-banner-section h1 {
    max-width: 100%;
}

.home-banner-text {
    margin: 0; /* Remove default margins */
    position: absolute; /* Position it over the image */
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Adjust for centering */
    color: white; /* Adjust color for visibility */
    z-index: 1; /* Ensure text is above the image */
    white-space: nowrap; /* Prevent text from wrapping */
    overflow: hidden; /* Hide overflow */
    text-overflow: ellipsis; /* Add ellipsis for overflow */
    max-width: 90%; /* Adjust max width as needed */
    font-size: 4vw; 
    font-weight: bold;
}

.main-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.mid-section {
    background-color: rgb(255, 255, 255);
    margin: 0px 0px 15px 0px;
    padding: 20px 30px 20px 30px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
}

.mid-section-text {
    color: #003f85;
    font-weight:bold;
    font-size: 25px;
    text-align: center;
}

.home-page-info-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 250px;
    margin: auto;
}

.home-page-application {
    margin: 5px 20px 5px 20px;
    display:flex;
    flex-direction: column;
    align-items: center;
    max-width: 230px;
    flex: 1;
}

.home-page-application:hover {
    transform: scale(1.05); /* Scale the element slightly larger on hover */
}

.home-page-application p {
    text-align: center;
    color: #7a7a7a;
    font-size: 15px;
    max-height: calc(2em * 3); /* Adjust line height and number of lines as needed */
    line-height: 2em; /* Adjust line height as needed */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.application-icon-container {
    position: relative;
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px;
}
  
.application-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px; 
    height: 80px;
    background-color: #0985D742; 
    border-radius: 50%; 
    z-index: 1; /* Places the circle behind the icon */
}

.application-icon {
    position: relative; /* Ensures the icon is positioned relative to its container */
    z-index: 1; /* Places the icon above the circle */
    width: 50px; /* Adjust the width of the icon */
    height: 50px; /* Adjust the height of the icon */
}

.application-header {
    font-size: 22px;
    font-style: normal;
    font-weight: 700; /* Make the font weight 700 (equivalent to bold) */
    color: #0985d786; /* Set the text color to blue */
}


.home-page-category {
    display:flex;
    flex-direction: column;
    align-items: center;
    max-width: 230px;
    min-width: 100px;
    flex: 1;
}

.home-page-category:hover {
    transform: scale(1.05); /* Scale the element slightly larger on hover */
}

.home-page-category h3 {
    font-size: medium;
}

.category-icon-container {
    position: relative;
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px;
}

.category-square {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 250px; 
    height: 250px;
    background-color: #eaeaea;
    border-radius: 5%; 
    z-index: 1; /* Places the circle behind the icon */
}

.category-icon {
    position: relative; /* Ensures the icon is positioned relative to its container */
    z-index: 1; /* Places the icon above the circle */
}

.bottom-section {
    background-color: #003863;
    margin: 0px 0px 15px 0px;
    padding: 20px 30px 20px 30px;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    min-height: 500px;
}

.bottom-container {
    width: 100%;
}

.bottom-text {
}

.bottom-text h1 {
    color: white;
    font-weight:600;
    font-size: 40px;
    text-align: center;
}

.bottom-text h2 {
    color: white;
    font-size: 36px;
    text-align: center;
}

.download-buttons {
    display: flex;
    flex-direction: row;
    margin-top: 50px;
    justify-content: center;
    align-items: center;
}

.dl-button {
    display: inline-block;
    margin: 0px 50px 0px 50px;
    padding: 10px 20px;
    background-color: #0077ee;
    color: white;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

.dl-button:hover {
    color: white;
}


#main {
    margin: 50px;
}

.content-area.primary {
}

#primary {
    margin: 0;
    width: 100%;
}

#wp-block-search__input-1 {
    min-width: none;
}

.toggle-button {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #fff; /* Change to your desired text color */
    border: none;
    border-radius: 5px;
    margin-left: -50px;
}

.ast-container {
    margin: 0;
    max-width: none;
}

.widget-area.secondary { 
    display: none;
    padding-left: 1rem;
}

#secondary {
    width: auto;
}

.button-text {
    margin-left: 10px; /* Adjust the margin as needed for spacing */
}

.hamburger-icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px; /* Adjust the width as needed */
    height: 20px; /* Adjust the height as needed */
}

.bar {
    background-color: #fff; /* Change to your desired color */
    height: 3px;
    width: 100%; /* Full width of the icon */
}

.single_product_shop {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.astra-shop-thumbnail-wrap {
    flex: 1;
}

.astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex: 2;
}

.ast-woo-product-category {
    flex: 1;
}

.ast-loop-product__link,
.woocommerce-loop-product__title {
    flex: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8; /* Limit to 3 lines */
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: inherit;
}

.price,
.woocommerce-Price-amount {
    padding-top: 0.5rem;
    flex: 1;
}


.add_to_cart_button {
    text-align: center;
}

@media screen and (max-width: 1027px) {

    .mid-section {
        background-color: rgb(255, 255, 255);
        margin: 0px 0px 15px 0px;
        padding: 20px 0; /* Adjusted padding */
        display: flex;
        flex-direction: row;
        max-width: max-content;
        justify-content: flex-start; /* Changed from center to flex-start */
        overflow-x: auto; /* Enable horizontal scrolling */
        scroll-snap-type: x mandatory; /* Enable horizontal snap scrolling */
        -webkit-overflow-scrolling: touch; /* Enable smooth scrolling on iOS */
    }
    
    .home-page-info-column {
        flex: 0 0 auto; /* Prevent columns from shrinking */
        margin-right: 20px; /* Adjusted margin */
        scroll-snap-align: start; /* Snap to the start of each column */
    }

}

@media screen and (max-width: 920px) {
    .toggle-button {
        visibility: hidden;
    }

    .widget-area.secondary {
        display: block;
    }
}

@media (max-width: 768px) {
    .download-buttons {
        flex-direction: column;
    }

    .dl-button {
        margin: 10px;
    }
}




.woocommerce-js ul.products li.product.product-category a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid li.product-cat-box .btn {
    background: #0070ee !important;
    display: block;
    padding: 4px 10px 7px;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    border-radius: 4px;
    margin-top: 19px;
    margin-bottom: 10px;
}
.shop-category-element .woocommerce ul.products li.product-cat-box, 
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid li.product-cat-box.product-category {
    padding-bottom: 0 !important;
}
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid a img {
    object-fit: cover !important;
}
.shop-category-element .woocommerce ul.products li.product-cat-box p.subcategory-count, 
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid li.product-cat-box.product-category p.subcategory-count {
    box-shadow: none !important;
}
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid li.product-cat-box.product-category a h5.subcategory-title {
    margin: 18px 0 0px 0 !important;
    padding: 0 10px !important;
    font-size: 1rem !important;
}   
.shop-category-element .woocommerce ul.products li.product-cat-box p.subcategory-count::before, 
.elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid li.product-cat-box.product-category p.subcategory-count::before {
    font-size: 1rem !important;
    text-transform: uppercase !important;
}


/* Product Listings */
.shop-category-element .woocommerce ul.products li.product-cat-box .product-cat-image {
    height: auto !important; /* The height of product images */
}
.product-cate-element .swiper-container-wrap .eael-product-carousel .product-details-wrap .eael-product-price {
    font-size: 20px !important; /* slider related products prices */
}
.products .single_product_shop .price {
    font-size: 22px !important;
}
.single-product .elementor-page-title + .elementor-widget-theme-post-excerpt {
    display: none !important;
}
.single-product .elementor-widget-theme-post-excerpt + .elementor-widget-text-editor {
    display: none !important;
}

/* Disable lightbox on product imgs */
.single-product.woocommerce .woocommerce-product-gallery__wrapper a.woocommerce-LoopProduct-link {
    pointer-events: none !important;
    cursor: default !important;
}

.woocommerce-js div.product div.images.woocommerce-product-gallery .flex-viewport {
    margin-bottom: 0;
}
.woocommerce-js div.product div.images {
    margin-bottom: 0;
}
.single-product div.product .woocommerce-product-gallery__image img {
    aspect-ratio: unset !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 400px;
    object-fit: contain;
    padding: 20px;
}
.woocommerce-js div.product div.images .flex-control-thumbs {
    border-top: 4px solid #e8eff7;
}
.woocommerce-js div.product div.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    margin: 0;
    padding: 15px;
    border-right: 4px solid #e8eff7;
}

@media (max-width: 767px) {
    .single-product div.product .woocommerce-product-gallery__image img { 
        margin: 0 auto;
        text-align: center;
    }
}

.single-product .price {
    font-size: 24px !important;
}
span.woocommerce-Price-currencySymbol {
    color: #282828 !important;
}

/* Archive category pages - set products to display 4 per row */
@media (min-width: 1300px) {
    html .archive-category-element.elementor-products-grid .elementor-widget-container ul.products li {
        width: calc(100% / 4 - 23px) !important;
    }
}



.woocommerce-Tabs-panel--description h1,
.archive .product-category-description h1 {
    font-size: 30px !important;
    line-height: 1.3em !important;
    color: #282828 !important;
}
.woocommerce-Tabs-panel--description h1 strong,
.archive .product-category-description h1 strong {
    color: #282828 !important;
}

.woocommerce-Tabs-panel--description h2,
.archive .product-category-description h2 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    line-height: 1.2em !important;
}

.woocommerce-Tabs-panel--description h3,
.archive .product-category-description h3 {
    font-size: 20px;
    line-height: 1.2em !important;
}

.woocommerce-Tabs-panel--description h4,
.archive .product-category-description h4 {
    font-size: 18px !important;
    line-height: 1.2em !important;
}

.woocommerce-Tabs-panel--description h5,
.archive .product-category-description h5 {
    font-size: 16px !important;
    line-height: 1.2em !important;
}

.woocommerce-Tabs-panel--description h6,
.archive .product-category-description h6 {
    font-size: 14px !important;
    line-height: 1.2em !important;
}

.elementor-widget-eicon-woocommerce .product .eael-product-title .woocommerce-loop-product__title {
    transition: all .2s;
}

.elementor-widget-eicon-woocommerce .product .eael-product-title .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
    color: #0077ee !important;
}

/* Product category font sizes */
.tax-product_cat h1.elementor-heading-title {
    /* font-size: 24px !important; */
}
.tax-product_cat .elementor-element[data-id="ddae153"] h1 {
    font-size: 22px !important;
}
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h1:first-child,
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h2:first-child,
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h3:first-child,
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h4:first-child,
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h5:first-child,
.tax-product_cat .elementor-element[data-id="ddae153"] .product-category-description h6:first-child {
    font-size: 30px !important;
    line-height: 2 !important;
}

.tax-product_cat .elementor-element[data-id="ddae153"] h2 {
    font-size: 21px !important;
}
.tax-product_cat .elementor-element[data-id="ddae153"] h3 {
    font-size: 20px !important;
}
.tax-product_cat .elementor-element[data-id="ddae153"] h4 {
    font-size: 16px !important;
}
.tax-product_cat .elementor-element[data-id="ddae153"] h5 {
    font-size: 16px !important;
}
.tax-product_cat .elementor-element[data-id="ddae153"] h6 {
    font-size: 16px !important;
}


.tax-product_cat ul.products.elementor-grid .single_product_shop {
    display: flex !important;
    flex-direction: column !important;
}
.tax-product_cat ul.products.elementor-grid .single_product_shop .ast-loop-product__link {
    overflow: visible !important;
}
.tax-product_cat ul.products.elementor-grid .single_product_shop .price {
    margin-top: 10px !important;
}

.single-product .sku-tags-element .elementor-icon-list-item {
    display: flex !important;
    align-items: center !important;
}
.single-product .sku-tags-element .elementor-icon-list-icon {
    display: flex !important;
    align-items: center !important;
    top: auto !important;
}
.single-product .sku-tags-element .elementor-icon-list-text {
    display: inline !important;
}
.single-product .sku-tags-element .elementor-icon-list-text * {
    display: inline !important;
}

.single-product .sku-tags-element .elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
    display: none !important;
}
.single-product .woocommerce-product-details__short-description > p:last-child {
    margin-bottom: 0;
}

.elementor-add-to-cart button.product_manual_download_button {
    float: right;
    margin: 0;
    background: transparent !important;
    padding: 0;
    color: #282828;
    font-family: Readex Pro;
    font-weight: 500;
    !importan;
}

.elementor-add-to-cart button.product_manual_download_button:hover {
    color: #0070ee !important;
}

.elementor-add-to-cart button.product_manual_download_button img {
    width: 30px;
    height: 30px;
    background: #0070ee;
    object-fit: contain;
    padding: 5px;
    border-radius: 4px;
    position: relative;
    top: -3px;
}

.single-product .product_manual_download_button {
    float: none !important;
    margin: 15px 0 8px !important;
}

.tax-product_cat ul.products .single_product_shop .astra-shop-thumbnail-wrap {
    padding: 10px 34px 10px;
}

.tax-product_cat ul.products .single_product_shop .astra-shop-thumbnail-wrap img {
    transition: none !important;
    transform: none !important;
}
.tax-product_cat ul.products .single_product_shop .astra-shop-thumbnail-wrap .ast-on-card-button {
    display: none !important;
}

.tax-product_cat ul.products .single_product_shop .astra-shop-summary-wrap {
    font-size: 15px;
}
.tax-product_cat ul.products .single_product_shop .astra-shop-summary-wrap h2 {
    font-size: 18px !important;
}

.tax-product_cat ul.products .single_product_shop .ast-woo-product-category {
    display: none !important;
}

.tax-product_cat ul.products .single_product_shop .astra-shop-summary-wrap .add_to_cart_button {
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.home .feattured-category-section .swiper-slide .elementor-widget-text-editor {
    display: none !important;
}

.home .feattured-category-section .swiper-slide .elementor-widget-text-editor + .elementor-element {
    margin-top: auto !important;
}

.home .feattured-category-section .swiper-slide .elementor-widget-heading + .elementor-element {
    margin-top: auto !important;
}

.woocommerce-js div.product .woocommerce-tabs .panel table td, 
.woocommerce-js div.product .woocommerce-tabs .panel table th {
    font-weight: 400 !important;
    color: #898989 !important;
}

.fs_manual_download_button,
.main_fs_download_button {
    display: inline-block;
    margin: 20px 0 40px !important;
    font-family: "Futura Heavy", Sans-serif;
    font-size: 18px;
    line-height: 32px;
    border-radius: 4px 4px 4px 4px;
    transition: all 0.2s;

    background: transparent !important;
    padding: 0;
    color: #282828;
    font-weight: 500;

    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    vertical-align: middle;
}

.fs_manual_download_button img, 
.main_fs_download_button img {
    width: 30px;
    height: 30px !important;
    background: #0070ee;
    object-fit: contain;
    padding: 5px;
    border-radius: 4px !important;
    position: relative;
    top: -3px;

    margin-right: 3px;
    vertical-align: middle;
}

.product_manual_download_button,
.main_fs_download_button {
    font-size: 18px !important;
    line-height: 28px !important;

    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
.product_manual_download_button img,
.main_fs_download_button img {
    margin-right: 3px !important;
}

.main_fs_download_button {
    margin: 30px 0 20px !important;
}

.single-product .elementor-add-to-cart .product_manual_download_button + .main_fs_download_button {
    display: block;
    margin-top: 0 !important;
}

@media screen and (min-width: 1245px) {
    .single-product .elementor-add-to-cart .product_manual_download_button + .main_fs_download_button {
        display: inline-block;
        margin-left: 24px !important;
        margin-top: 30px !important;
    }
}

select.gt_selector.notranslate {
    width: 100% !important;
    height: 100% !important;
}
.elementor-element-864f13a .elementor-shortcode {
    height: 100%;
}
.elementor-element-864f13a .gtranslate_wrapper {
    height: 100%;
}

/* ADDED STYLES FROM WPLOCAL */
/* suggested product panel */

.woocommerce-js .wooco_wrap {
    margin-bottom: 28px;
    background: white;
    padding: 0px 20px 10px;
    margin-top: 16px;
}
.woocommerce-js .wooco-wrap .wooco-text {
    margin: 0;
}
.woocommerce-js .wooco_wrap .wooco_components {
    margin: 0;
}
.woocommerce-js .wooco_wrap .wooco_component_product_qty_btn {
    display: none;
}
.woocommerce-js .wooco_wrap .wooco-qty-wrap {
    column-gap: 10px;
}
.woocommerce-js .wooco_wrap .quantity .qty {
    width: 3em;
}
.woocommerce-js .wooco_wrap .quantity input[type="number"] {
    padding: 0;
    font-size: 16px !important;
}
.wooco_component_name, .wooco_component_desc {
    margin: 0;
    line-height: 1.4;
}
.wooco_component_product_selection_item {
    background: #fff;
    line-height: 1.4;
}
.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_image {
    width: 80px;
    flex: 0 0 80px;
}
.wooco_component_product_selection_item img {
    font-size: 12px;
    line-height: 1.2;
}

/* WooBeWoo Product Filter (proposed) */
#content .wpfLiLabel .wpfDisplay {
    font-size: 13px;
    line-height: 1.3;
    display: inline-block;
}
#content .wpfFilterVerScroll li {
    margin: 8px 0;
}
#content .wpfCheckbox {
    height: 16px;
}
#content .wpfLiLabel {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 6px;
}
#content .wpfFilterWrapper .wpfCheckbox label {
    display: block !important;
}
#content .wpfValue {
    padding: 0 !important;
}

/* PROPOSED SHOP EDITS */

.woocommerce ul.products li.product .astra-shop-summary-wrap, 
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    padding: 0 !important;
}
.elementor-wc-products ul.products li.product .button {
    display: block;
}
.woocommerce-js ul.products li.product .price, 
.woocommerce-page ul.products li.product .price {
    margin-bottom: 10px;
}
.ast-loop-product__link, .woocommerce-loop-product__title {
    overflow: visible;
}
.woocommerce-js ul.products li.product .ast-woo-product-category, 
.woocommerce-page ul.products li.product .ast-woo-product-category {
    font-size: 11px;
  text-transform: uppercase;
  color: #999;
  opacity: 1;
}
.elementor-wc-products ul.products {
    /* min-height: 1000px; */
}