/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* Modernize Solar Guide Table for Screen */
.solar-guide-table {
    max-width: 900px;
    margin: 30px auto;
    padding: 25px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.solar-guide-table h3 {
    font-size: 28px;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 25px;
    font-weight: 600;
}

.solar-guide-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
}

.solar-guide-table th,
.solar-guide-table td {
    padding: 15px 20px !important;
    text-align: left;
    border-bottom: 1px solid #e0e0e0 !important;
    transition: background-color 0.3s ease;
    color: #34495e;
    font-size: 16px;
}

.solar-guide-table thead tr {
    background: linear-gradient(135deg, #3b7c03, #2f6402) !important;
}

.solar-guide-table th {
    color: #ffffff !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #5a9e26 !important;
}

.solar-guide-table tbody tr:nth-child(even) {
    background-color: #f8f9fa !important;
}

.solar-guide-table tbody tr:hover {
    background-color: #eef2f7 !important;
}

.solar-guide-table td:first-child {
    font-weight: 500;
}

.submit-form {
    margin-top: 30px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.submit-form .row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px !important;
}

.submit-form .col {
    flex: 1;
    min-width: 200px;
    padding: 0 !important;
}

.submit-form label {
    font-weight: 500;
    color: #2c3e50;
    margin-bottom: 5px;
    display: block;
}

.submit-form input,
.submit-form textarea {
    width: 100%;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 16px;
    margin-bottom: 15px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.submit-form input:focus,
.submit-form textarea:focus {
    border-color: #3b7c03 !important; /* Updated to brand color */
    outline: none;
}

.submit-form .button {
    padding: 12px 25px !important;
    font-size: 16px;
    border-radius: 4px !important;
    border: none !important;
    transition: transform 0.2s ease, opacity 0.3s ease;
}

.submit-form .button:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .solar-guide-table {
        padding: 15px;
        margin: 15px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    }

    .solar-guide-table table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .solar-guide-table th,
    .solar-guide-table td {
        padding: 10px 12px !important;
        font-size: 14px;
        min-width: 100px;
    }

    .solar-guide-table h3 {
        font-size: 22px;
        margin-bottom: 15px;
    }
}

@media (max-width: 480px) {
    .solar-guide-table th,
    .solar-guide-table td {
        padding: 8px 10px !important;
        font-size: 12px;
    }

    .submit-form .col {
        min-width: 100%;
    }
}

.imground > div {
    border-radius: 30px;
}

/* Solar panel styling for calculators page */
.solar-panels-carousel {
    margin-top: 40px;
    padding: 20px 0;
}

.solar-panels-carousel h2 {
    text-align: center;
    margin-bottom: 20px;
}

.product-slide {
    text-align: center;
    padding: 10px;
}

.product-slide img {
    max-width: 100%;
    height: auto;
}

.product-slide h3 {
    font-size: 1.2em;
    margin: 10px 0;
}

.product-slide .price {
    color: #3b7c03;
    font-weight: bold;
}

button#submitfreightquote, button.button.expand {
    border-radius: 99px !important;
    color: #222222 !important;    
    background-color: var(--fs-color-primary) !important;
}
button.is-form.expand.button {
    background-color: #ffaa2b !important;
    color: #fff;
    border-color: rgba(0, 0, 0, 0.05);
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    font-size: .97em;
    letter-spacing: .03em;
    touch-action: none;
    cursor: pointer;
    font-weight: bolder;
    text-align: center;
    text-decoration: none;
    border: 1px solid transparent;
    vertical-align: middle;
    border-radius: 0;
    margin-top: 0;
    margin-right: 1em;
    text-shadow: none;
    line-height: 2.4em;
    min-height: 2.5em;
    padding: 0 1.2em;
    transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s, -webkit-transform .3s;
    text-rendering: optimizeLegibility;
    box-sizing: border-box;
}

div.coupon > h3.widget-title {
    text-transform: uppercase;
}

.cart-discount {
    background-color: rgba(122, 156, 89, 0.2) !important;
    font-size: .85em;
}

.shop-page-title .flex-col {    max-height: 100%;    width: 30%;}
.details-table td, .details-table th{
    padding: 10px !important;
}
.details-table th:first-child, .details-table td:first-child{
    padding: 10px !important;
}
.view_layout table, .view_layout th, .view_layout td{
    border: solid 1px #888 !important
}
.details-table thead{
    background: #555;
}
.details-table thead th{
    color: #fff;
}

.massonery-image {
    -moz-column-width: 13em;
    -webkit-column-width: 13em;
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    width: 100%;
    margin: 50px auto 0;
    max-width: 800px;
}
.massonery-image section {
    display: inline-block;
    margin: 0.25rem;
    padding: 0;
    width: 100%;
    background: #efefef;
}
.massonery-image section img {
    width: 100%;
}
.fl-photo-img a:hover{
    opacity: 0.8;
    transition: opacity 0.14s ease-in-out 0s, visibility 0s linear 0s, top 0.14s ease-in-out 0s;
}
p.stock.in-stock
{
    text-align: right;
}
.stock.out-of-stock, .stock.available-on-backorder{ display: none}
.box-image .out-of-stock-label
{
    display: none;
}

.single_product_highlighted_icons { padding: 0 5px !important;}
.borderRadius img
{
    border: 1px solid #000;
    border-radius: 6px;
}

.pp_class_fd {
    margin-bottom: 10px;
    border-radius: 4px;
}

.list_checkout_product .products {
    float: inherit !important;
}
div#addcheckoutpopup .modal-content {
    min-width: 40%;
}
.list_checkout_product .product-small {
    min-width: 50%;
}
.list_checkout_product {
    overflow: auto;
}
.list_checkout_product .quick-view {
    display: none;
}
@media only screen and (max-width: 991px) {
    div#addcheckoutpopup .modal-content {
        min-width: 90%;
    }
    .list_checkout_product .product-small {
        min-width: 50%;
    }
}

.gform_wrapper {
    overflow: inherit;
    margin: 16px 0;
    max-width: 100%;
}

.gform_wrapper_old {
    border-color: rgba(238,238,238,1);
    border-radius: 12px;
    border-width: 2px;
    border-style: solid;
    background: rgba(255,255,255,1);
    font-family: "Lato", sans-serif;
    color: rgb(49, 49, 49);
    border-width: 2px;
    padding: 5%;
}




.gfield input, .gfield select, .gfield textarea, .form-control, .form-group input, select:focus {
    background-color: rgb(249, 249, 249);
    color: rgb(79, 84, 92) !important;
    font-weight: normal;
    font-style: normal;
    border: 1px solid #bec6ca;
    box-shadow: none;
    padding: 6px 12px !important;
    font-family: "Lato", sans-serif !important;
    border-radius: 3px !important;
    font-size: 14px !important;
    width: 100% !important;
}
.gfield input:focus, .gfield select:focus, .gfield textarea:focus, .form-control:focus, .form-group input:focus, select:focus {
    border: 1px solid rgba(59,140,255,.7);
    box-shadow: inset 0 0 4px rgba(102,175,233,.6);
    -webkit-box-shadow: inset 0 0 4px rgba(102,175,233,.6);
    -moz-box-shadow: inset 0 0 4px rgba(102,175,233,.6);
    -ms-box-shadow: inset 0 0 4px rgba(102,175,233,.6);
    -o-box-shadow: inset 0 0 4px rgba(102,175,233,.6);
    outline: none;
}
.gform_wrapper div.ginput_container {
    margin-top: 0 !important;
}
.gform_wrapper .gfield_label {
    width: 100%;
    font-size: 14px !important;
    font-family: "Lato", sans-serif;
}
.gform_wrapper ul li.gfield {
    margin-top: 0 !important;
    float: left;
    width: 100%;
    padding: 0 !important;
}
.gform_wrapper h3.gform_title {
    letter-spacing: normal !important;
    margin: 10px 0 6px;
    text-align: center;
    color: rgb(53, 64, 81);
    font-size: 22px;
    font-weight: normal;
    font-weight: 700;
    font-size: 20px;
    text-align: left;
}

h3.gform_title{
    //display: none;
}

.gform_wrapper .gform_footer {
    //text-align: center;
    width: 100%;
}
.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"] {
    margin: 0;
    border: none;
    font-size: 15px;
}
.gform_wrapper input[type="checkbox"], .gform_wrapper input[type="radio"] {
    margin-right: 5px;
}
.manufacturer_logos {
    height: 100px;
    margin: 0 auto;
    display: block;
}

.widget ul li  label {
    color: #334862; font-weight:400; font-size:14px;
}
ul.berocket_aapf_widget li{ border-bottom:1px solid #ececec; margin-bottom:0px; padding-top:9px !important; padding-bottom:8px !important; float:left; width:100%;}
ul.berocket_aapf_widget li:nth-last-child(2){ border-bottom:0px none; margin-bottom:15px;}
ul.berocket_aapf_widget li > span{ line-height:normal;}
ul.berocket_aapf_widget li .button, button, input, textarea, select, fieldset{ margin-bottom:0px;}
.slide { width:100%; float:left; padding:8px;}
.slider:not(.flickity-enabled){ overflow-x: hidden;}
.box{ border:solid 1px #eee; padding:15px;}
.top{ top:-11px;}
.col-inner .badge-container{ margin:0;}
.products { margin-top:15px; float:left; width:100% !important;}
.berocket_aapf_widget_show{ margin-right:0 !important;}
.br_child_toggle.br_child_toggle_72{ float:right;}
.berocket_aapf_widget-title_div{ min-height:25px !important;}




.large-4.col > a.images-div {
    border: 1px solid #ccc;
    cursor: pointer;
    display: flex;
    min-height: 260px;
    padding: 20px;
    text-align: center;
    width: 100%;
}
.images-div{
    cursor: default;
    float: left;
    height: 100%;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 100%;
}
.img_content img {
    position: relative;
    transition: all 0.4s linear 0s;
    width: 100%;
}
.images-div .text_name {
    background-color: rgba(0, 0, 0, 0.1);
    height: 100%;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all 0.6s ease-in-out 0s;
    width: 100%;
}
.images-div:hover .img_content img {
    transform: scale(1.1);
}
.images-div:hover .text_name {
    background-color: rgba(59, 124, 3, 1);
    opacity: 1;
    font-size: 24px;
    line-height: 270px;
}
.images-div:hover .text_name h3{
    color:#fff;
}
.manufacture_content .heading {
    padding: 0 14px;
}
.img_content {
    align-items: center;
    display: flex;
    text-align: center;
    vertical-align: middle;
    margin:0 auto;
}
.large-4.col > a.images-div:hover {
    border-color:#337c03;
}
.mquantity
{
    position:relative;
    top:-1.3em;
}
/*.owl-item .top{
    top: 0 !important;
}*/

.item .product-small.box  {
    margin-top: 20px;
}
.item .box-image img{
    width: 54% !important;
    display: inherit;
}
.owl-theme{
    border-radius: 10px;
    border: solid 2px #202125 !important;
    margin-top: 0px;
}
.owl-theme .product-small{
    padding-bottom: 0px;
}


.product_page_search_sidebar {
    float: left;
    width: 100%;
    margin: 41px 0 0;
}
.product_page_search_sidebar .widget_product_search {
    width: 49%;
    float:right;
    margin-bottom: 0
}
.single-product .product-main {
    padding-top: 0 !important;
}

.footable_parent.semantic_ui {
    border: solid 1px #F6C04E;
    float: left;
    width: 100%;
    margin-top: 15px;
    border-radius: 8px;
}
.footable_parent.semantic_ui .ui.table tr {
    background: #F6C04E !important;
    color: #000 !important;
}
.footable_parent.semantic_ui .ui.table tr td, .footable_parent.semantic_ui .ui.table tbody tr:hover td {
    color: #000 !important;
    border-top: solid 1px #EBB84C !important;
}
.footable_parent.semantic_ui .ui.table tbody tr:hover {
    background: #FFE5B0 !important;
}
.footable_parent.semantic_ui .ui.table:not(.inverted) thead th {
    background: #595959 !important;
    color: #fff !important;
}
.footable_parent.semantic_ui .ui.table:not(.inverted) thead tr.footable-filtering th {
    background: #fff !important;
}
.footable-filtering .footable-filtering-search .btn-primary  {
    background: #F6B93B;
    border-color: #F6B93B;
}
.footable-filtering .footable-filtering-search .btn-primary:hover  {
    background: #EBB84C;
    border-color: #EBB84C;
}
.footable-filtering .footable-filtering-search .form-control {
    margin-right: -1px !important;
    float: right;
    box-shadow: none;
    height: 35px;
}
.footable-filtering .footable-filtering-search .form-control:focus {
    border-color: #F6B93B;    
}
.category-page-title .aws-container
{
    display: none;
}
body.archive .product_page_search_sidebar
{
    margin:-97px 0 0 0;
}
body.home .owl-demo-home img
{
border: 3px solid #000;
border-radius: 8px;
}

button.woocommerce-button.button.woocommerce-form-login__submit, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit {
    color: #222222 !important;
    border-radius: 99px !important;
}

.headline.callouts.home {
    font-size: 3em;
    margin: 5px 0;
    font-weight: bold;
}

.element.callouts.home {
    /*flex: 1 1 calc(20% - 10px);*/
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 5px;
    box-sizing: border-box;
    text-align: center;
}

.element.callouts.home i {
    font-size: 5em;
    margin-bottom: 10px;
    color: #3b7c03;
}

div.container.callouts-kit {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: space-between !important;
            gap: 10px !important;
            padding: 0px !important;
            //margin-bottom: 20px !important;
            //height: 400px !important;
            max-width: 600px !important;
        }
        .element.callouts-kit {
            flex: 1 1 calc(20% - 10px) !important;
            max-width: calc(100% - 10px) !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            border: 1px solid #ddd !important;
            border-radius: 8px !important;
            padding: 5px !important;
            box-sizing: border-box !important;
            text-align: center !important;
        }
        .element.callouts-kit i.fa-angle-right {
            font-size: 1em !important;
            margin-bottom: 10px !important;
            color: #3b7c03 !important;
        }
        .element.callouts-kit i.fa-screwdriver-wrench {
            font-size: 5em !important;
            margin-bottom: 10px !important;
            color: #3b7c03 !important;
        }
        .headline.callouts-kit {
            font-size: 3em !important;
            margin: 0px 0 !important;
            font-weight: bold !important;
        }
        .subhead.callouts-kit {
            font-size: 2em !important;
            color: #3b7c03 !important;
            margin-bottom: 0em !important;
        }
        @media (max-width: 800px) {
            .element.callouts-kit {
                flex: 1 1 calc(33.33% - 10px) !important;
                max-width: calc(100% - 10px) !important;
            }
            .subhead.callouts-kit {
                font-size: 1em !important;
                color: #3b7c03 !important;
            }
            .headline.callouts-kit {
                font-size: 2em !important;
                margin: 5px 0 !important;
                font-weight: bold !important;
            }
        }
        @media (max-width: 545px) {
            .element.callouts-kit {
                flex: 1 1 100% !important !important;
                max-width: 100% !important !important;
            }
        }
        @media (max-width: 400px) {
            .element.callouts-kit {
                flex: 1 1 100% !important;
                max-width: 100% !important;
            }
        }
a.button.checkout.wc-forward {
    color: #fff !important;
    border-radius: 99px !important;
}
a.button.wc-forward {
    border-radius: 99px !important;
}
a.button-continue-shopping.button.primary.is-outline {
    border-radius: 99px !important;
}
button.button.primary.mt-0.pull-left.small {
    border-radius: 99px !important;
    color: #222222 !important;
}
button.is-form.expand.button {
    border-radius: 99px !important;
    background-color: var(--fs-color-primary) !important;
    color: #222222 !important;
    margin-top: 1em !important;
}
a.button.wc-backward, button.woocommerce-Button.button {
    border-radius: 99px !important;
    color: #222222 !important;    
}
p.stock.out-of-stock {
    color: #3b7c03 !important;
}
div.badge-inner.callout-new-bg.is-small.new-bubble {
    background-color: red !important;
    color: #fff !important;
    white-space: wrap !important;
}
div.badge.callout.badge-circle {
    margin-top: .4em !important;
}

.nav-line-bottom>li>a:before,.nav-line-grow>li>a:before,.nav-line>li>a:before {
    background-color: var(--fs-color-primary) !important;
}
span.select2-selection.select2-selection--single {
    border-radius: 8px;
} 

input#billing_phone.input-text {
    border-radius: 8px;
}

@media screen and (max-width: 849px) {
    .product_page_search_sidebar .widget_product_search {
        width: 95%;
        float: none;
        margin:auto;
    }
    body.archive .product_page_search_sidebar {
        margin: -22px 0 0 0;
    }
}
/* Mobile-only adjustments for icon boxes */
@media (max-width: 549px) {
    /* Target all icon-box-top within columns on homepage */
    .col .icon-box.icon-box-top {
        display: flex;
        flex-direction: row;
        align-items: flex-start; /* Align icon and text at the top */
        gap: 15px; /* Space between icon and text */
    }

    /* Ensure icon stays left with fixed width */
    .col .icon-box-img {
        flex: 0 0 auto; /* Use inline width (50px or 60px), no grow/shrink */
        margin: 0; /* Remove default margins */
    }

    /* Stack text content vertically to the right */
    .col .icon-box-text {
        flex: 1; /* Takes remaining space */
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin: 0; /* Remove default margins */
    }

    /* Tighten spacing within text */
    .col .icon-box-text h5,
    .col .icon-box-text p {
        margin: 0; /* Remove default margins */
        padding: 0; /* Remove default padding */
    }

    .col .icon-box-text p {
        margin-top: 5px; /* Small gap between paragraphs */
    }
    .reorder-mobile .row:first-child .col:first-child { order: 1; }
    .reorder-mobile .row:first-child .col:last-child { order: 2; }
    .reorder-mobile .row:last-child .col:last-child { order: 3; } /* Image */
    .reorder-mobile .row:last-child .col:first-child { order: 4; } /* Copy */
}
@media only screen and (max-width: 530px) {
    .list_checkout_product .product-small {
        min-width: 100%;
    }
}


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}