.two-col-list { columns: 2; column-gap: 1rem; }
.two-col-list li { break-inside: avoid; margin-bottom: .5rem; }
/* --- Header / Nav --- */

.tp-header-style-3 .tp-header-main-menu > nav > ul > li > a {
    padding: 28px 10px !important;
}
.tp-header-top-right-box img {
    max-width: 100px;
}
.tp-footer-logo img {
    max-width: 342px;
}
i.red {
    color: #ea3437 !important;
}
.tp-header-area .tp-header-logo img {
    max-width: 250px;
}
.tp-header-main-menu {
    margin-left: 0;
}
/* Submenu */

.tp-header-main-menu nav ul li .submenu {
    padding: 30px 30px;
}
.tp-header-main-menu nav ul li .submenu a,
.tp-main-menu-mobile ul li .submenu > a {
    display: block;
    color: #fff;
    margin: 0 0 10px 0;
}
/* Header right actions */

header .tp-header-area .tp-header-right-btn {
    margin-left: 0;
}
header .tp-header-area .tp-header-right-btn .tp-btn {
    padding: 0 20px;
}
header .tp-header-area .tp-header-right-tel-box {
    margin-left: 15px;
}
.tp-header-right-tel-icon i {
    margin-right: 10px;
}
/* Buttons */

.tp-btn {
    border-radius: 0 !important;
}
.tp-btn i {
    position: relative;
    z-index: 2;
}
.black_btn {
    background-color: #000;
}
.blue_btn {
    background-color: #00388f;
}
/* Misc theme tweaks */

ul.wp-block-list {
    margin-bottom: 15px;
}
.tp-slider-2-play-icon a i {
    transform: rotate(-45deg);
}
.tp-about-area .tp-about-shape-5,
.tp-footer-area .tp-footer-shape-1,
.tp-footer-area .tp-footer-shape-2 {
    animation: none;
}
.tp-faq-thumb {
    top: -60px;
    height: calc(100% - 60px);
}
.google_reviewBox {
    max-width: 183px;
}
.tpoffcanvas {
    padding: 60px 35px 40px;
}
.tpoffcanvas__close-btn button {
    right: 15px;
    top: 15px;
}
.tp-cta-bg::after {
    background-color: #fff;
}
/* Content/Typography tweaks */
ul li {
    margin-left: 20px;
}
ul.two-col-list li {
    margin-left: 0px;
}
form label {
    font-weight: 800;
    color: #000;
    font-size: 14px;
    margin-bottom: 4px;
}
ul.maintenance li {
    margin: 0 0 20px 20px;
    list-style: none;
}
.postbox__blockquote > blockquote::after {
    top: 24px !important;
}
/* Anchor with no bg */

a.anchor_no_bg {
    background: 0;
    height: auto;
    width: auto;
    line-height: normal;
    display: inline;
    font-size: 36px;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
a.anchor_no_bg::after,
a.anchor_no_bg::before {
    display: none !important;
}
/* Gravity Forms / Sidebar form styles */

.tp-choose-content .custom_class_gravityform_wrapper label.gfield_label.gform-field-label {
    color: #fff !important;
}
.sidebar__widget-content .gform_wrapper.gravity-theme .gfield input.large,
.gform_wrapper.gravity-theme .gfield select.large {
    background-color: #fff;
    padding-inline: 25px;
    font-size: 16px;
}
.sidebar__widget-content .gform_wrapper.gravity-theme .gfield textarea.large {
    height: 165px !important;
    padding: 17px 25px;
    background-color: #fff;
}
.sidebar__widget-content .gform_wrapper.gravity-theme .gfield_label {
    font-weight: 800;
    color: #000;
    font-size: 14px;
    margin-bottom: 4px;
}
/* --- 06-03-2024 Gravity Forms CTA button wrapper --- */

.custom_class_gravityform .gform_button {
    padding: 0 30px;
    font-size: 14px;
    font-weight: 700;
    height: 60px;
    line-height: 60px;
    display: inline-block;
    text-transform: uppercase;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-1);
    transition: all 0.5s ease-in-out;
    position: relative;
    border: none;
}
.gform_wrapper.gravity-theme .gform_footer input {
    margin-bottom: 0 !important;
    font-size: 0;
    background-color: transparent;
    z-index: 3;
    width: 100%;
}
.custom_class_gravityform .gform_footer {
    position: relative;
    margin: 22px 0 16px !important;
    padding: 0 !important;
    background-color: var(--tp-theme-1);
}
.custom_class_gravityform .gform_footer::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 0%;
    height: 100%;
    content: '';
    background: var(--tp-blue);
    transition: all 500ms ease-in-out;
}
.custom_class_gravityform .gform_footer:hover::after {
    left: 0;
    right: auto;
    width: 100%;
    z-index: 1;
}
.custom_class_gravityform .gform_footer::before {
    width: fit-content;
    height: fit-content;
    position: absolute;
    content: 'SEND ME A QUOTE';
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
}
.financing-contact-form .custom_class_gravityform .gform_footer::before {
    content: 'Call Me';
}
.financing-contact-form .custom_class_gravityform .gform_footer {
    max-width: 220px;
    text-transform: uppercase;
}
.contact-us-page-form .custom_class_gravityform .gform_footer::before {
    content: 'Send Message';
}
.contact-us-page-form .custom_class_gravityform .gform_footer {
    max-width: 166px;
    text-transform: uppercase;
}
.heating-contact-form .custom_class_gravityform .gform_footer::before {
    content: 'Send My Information';
}
.heating-contact-form .custom_class_gravityform .gform_footer {
    max-width: 220px;
    text-transform: uppercase;
}
.post-sidebar-form .custom_class_gravityform .gform_footer::before {
    content: 'Call Me';
}
.post-sidebar-form .custom_class_gravityform .gform_footer {
    max-width: 220px;
    text-transform: uppercase;
}
.custom_class_gravityform input {
    padding-inline: 25px !important;
}
.custom_class_gravityform textarea#input_2_6,
.custom_class_gravityform textarea#input_3_6 {
    height: 165px;
    line-height: 1.4;
    padding: 17px 25px;
}
.gform_heading h2.gform_title {
    display: none;
}
.get_a_quote input {
    width: 100%;
    background: #fff;
    height: 64px;
    border: 1px solid #e0e2e3;
}
.get_a_quote textarea#input_4_4 {
    height: 200px;
    resize: none;
    padding: 25px;
    font-size: 14px;
    background: #fff;
    border: 1px solid #e0e2e3;
}
.custom_class_gravityform .nice-select {
    height: 64px;
    line-height: 63px;
    border-radius: 0;
    border: 0;
    float: none;
    padding: 0 25px;
    font-size: 14px;
}
.custom_class_gravityform ul.list {
    width: 100%;
}
.custom_class_gravityform .nice-select::after {
    right: 26px;
}
.custom_class_gravityform_wrapper p.gform_required_legend {
    display: none;
}
.custom_class_gravityform_wrapper label.gfield_label.gform-field-label {
    font-size: 14px;
    font-weight: 500;
    padding-bottom: 10px;
    margin-bottom: 4px;
}
/* Side menus */

ul#menu-financing-side-menu .menu-item,
ul#menu-hvac-side-menu .menu-item,
ul#menu-heat-side-menu .menu-item,
ul#menu-cooling-side-menu .menu-item,
ul#menu-maintenance-menu .menu-item {
    position: relative;
}

ul#menu-financing-side-menu .menu-item:before,
ul#menu-hvac-side-menu .menu-item:before,
ul#menu-heat-side-menu .menu-item:before,
ul#menu-cooling-side-menu .menu-item:before,
ul#menu-maintenance-menu .menu-item:before {
    position: absolute;
    content: '\f108';
    font-family: flaticon_biddut !important;
    right: 30px;
}

ul#menu-financing-side-menu .active:before,
ul#menu-financing-side-menu .menu-item:hover::before,
ul#menu-hvac-side-menu .active:before,
ul#menu-hvac-side-menu .menu-item:hover::before,
ul#menu-heat-side-menu .active:before,
ul#menu-heat-side-menu .menu-item:hover::before,
ul#menu-cooling-side-menu .active:before,
ul#menu-cooling-side-menu .menu-item:hover::before,
ul#menu-maintenance-menu .active:before,
ul#menu-maintenance-menu .menu-item:hover::before {
    color: #ea3437;
}
/* Sidebar posts */

.sidebar__widget-content .sidebar__post img {
    max-width: 100%;
    width: 70px;
    height: 71.9965px;
    object-fit: fill;
}
/* Post thumbs */

.postbox__thumb > a > img,
.postbox__thumb > img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
}
/* Woo price styling */

.tp-shop-details__price del .woocommerce-Price-amount bdi,
.tp-shop-details__price del .woocommerce-Price-amount bdi span {
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
    font-weight: 400;
    display: inline-block;
    margin-left: 13px;
    margin-right: 10px;
}
.tp-shop-details__price del .woocommerce-Price-amount bdi {
    text-decoration: line-through;
    margin-left: 0;
}
.woocommerce-Price-amount bdi span:not(.woocommerce-Price-currencySymbol) {
    text-decoration: line-through;
}
.tp-shop-details__price del .woocommerce-Price-amount bdi span,
.tp-shop-details__price del {
    margin: 0;
}
.tp-shop-details__price ins span.woocommerce-Price-amount bdi {
    margin-right: 10px;
    text-decoration: none;
}
.tp-shop-details__price ins {
    text-decoration: none;
}
.single_add_to_cart_button.tp-btn {
    font-size: 0;
    min-width: 152.67px;
}
.single_add_to_cart_button.tp-btn::before {
    content: 'Add to cart';
    position: absolute;
    z-index: 1;
    opacity: 1;
    font-size: 14px;
    left: 0;
    width: 100%;
}
/* --- Responsive header: keep everything on one line (desktop) --- */

header .tp-header-area .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
header .tp-header-area .row > [class*='col-'] {
    width: auto !important;
    flex: 0 1 auto;
}
header .tp-header-area .row > [class*='col-']:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0;
}
header .tp-header-area .row > [class*='col-']:first-child,
header .tp-header-area .row > [class*='col-']:last-child {
    flex: 0 0 auto !important;
}
/* Center the primary menu (replaces earlier space-between) */

.tp-header-main-menu > nav.tp-main-menu-content > ul {
    display: flex;
    justify-content: center;
}
/* --- Buttons: plugin-safe overrides vs theme/Bootstrap --- */

/* Hover state for enabled buttons */

button.btn:hover:not(:disabled),
.btn:hover:not(:disabled) {
    opacity: 1;
    background-color: #d63b2f;
    border-color: #d63b2f;
}
/* Disabled buttons stay visible (no near-transparent look) */

button.btn:disabled,
.btn.disabled {
    opacity: 0.7;
    background-color: #ea3437;
    border-color: #ea3437;
    color: #fff;
}
/* --- Layouts specific to multi-step form / quiz --- */

main.multi-section-form-holder .nice-select.quiz-select-dropdown.form-select {
    width: 100%;
    padding: 10px 20px;
    min-height: 50px;
}
.nice-select.quiz-select-dropdown.form-select {
    background-color: rgba(245, 245, 248, 1);
    border-radius: 0;
    border-color: rgba(245, 245, 248, 1);
    padding: 20px;
    height: auto;
    color: rgba(114, 114, 114, 1);
    background-image: url(/wp-content/uploads/2024/07/arw.png);
    background-size: auto;
    background-position: center right 20px;
}
main.multi-section-form-holder .container {
    max-width: 900px;
    width: 100%;
    margin: 20px 0;
}
.multi-step-form button.btn.btn-success {
    padding-left: 20px;
    padding-right: 20px;
}
.section-to-hide {
    display: none;
}
div#loading {
    display: none;
}
.gfield_visibility_hidden {
    display: none !important;
}
#cfw-alert-b220ebcaf59bf3c313ae2de297b2558d {
    display: none;
}
#step3 .card-option .item:hover,
#step3 .card-option .item:has(input:checked),
#step6 .card-option .item:hover,
#step6 .card-option .item:has(input:checked) {
    box-shadow: none;
}

/* Make the whole image area clickable */
.tp-blog-thumb-main a {
    display: block;
    position: relative;
    z-index: 10; /* above decorative layers */
}

/* Decorative overlays should not capture clicks */
.tp-blog-thumb-main::before,
.tp-blog-thumb-main::after,
.tp-blog-thumb-box::before,
.tp-blog-thumb-box::after,
[class*='tp-blog-thumb-shape'] {
    pointer-events: none !important;
}

/* (Optional) ensure the image itself doesn't have unexpected gaps */
.tp-blog-thumb-main img {
    display: block;
    width: 100%;
    height: auto;
}
.multi-section-form-holder {
    background-color: #f4f6f8;
}
.service-area-content p a {
    color: #ea3437;
}
/* Before/After slider (scoped) */
.ba {
    --pct: 50;
    position: relative;
    width: 100%;
    max-width: 455px; /* keep max size */
    aspect-ratio: 455 / 485; /* lock ratio responsively */
    overflow: hidden;
}

.ba__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* crop/center to fit */
    border-radius: 0; /* no rounded corners */
}

.ba__after {
    position: absolute;
    inset: 0;
    width: calc(var(--pct, 50) * 1%);
    overflow: hidden;
}

.ba__label {
    position: absolute;
    top: 10px;
    z-index: 3;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.3rem 0.55rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    border-radius: 999px;
    user-select: none;
}
.ba__label--before {
    left: 10px;
}
.ba__label--after {
    right: 10px;
}

.ba__handle {
    position: absolute;
    inset: 0 auto 0 50%;
    left: calc(var(--pct, 50) * 1%);
    transform: translateX(-50%);
    width: 2px;
    background: rgba(255, 255, 255, 0.95);
    z-index: 3;
    pointer-events: none;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}

/* Range overlay as the controller */
.ba__range {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    appearance: none;
    background: transparent;
    z-index: 4;
    cursor: ew-resize;
}
.ba__range::-webkit-slider-thumb {
    appearance: none;
    width: 24px;
    height: 24px;
    background: transparent;
}
.ba__range::-moz-range-thumb {
    width: 24px;
    height: 24px;
    background: transparent;
    border: 0;
}
.ba__drag-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    pointer-events: none; /* keep range input handling the drag */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.ba__arrow {
    font-size: 12px;
    font-weight: bold;
    color: #333;
    line-height: 1;
    margin: 0 2px;
}
/* Override Magnific Popup image size */
img.mfp-img {
    max-height: none !important;
    height: auto !important;
}

/* --- Breakpoints --- */

@media screen and (max-width: 1679.98px) {
    .tp-header-area .tp-header-logo img {
        max-width: 250px;
    }
}
@media screen and (max-width: 1399.98px) {
    header .tp-header-area .row > [class*='col-']:last-child {
        padding-left: 12px;
    }
    .tp-header-area .tp-header-logo img {
        max-width: 220px;
    }
    .tp-header-main-menu > nav.tp-main-menu-content > ul {
        justify-content: space-around;
    }
    .tp-header-main-menu nav ul li + li {
        margin-left: 15px;
    }
}
@media screen and (max-width: 1199.98px) {
    header .tp-header-area .row {
        justify-content: space-between;
    }
}
@media screen and (max-width: 991.98px) {
    .pt-120 {
        padding-top: 60px;
    }
    .pb-120 {
        padding-bottom: 60px;
    }
    .tp-choose-3-area.pt-120 {
        padding-top: 0;
    }
    .tp-about-left-box {
        margin-bottom: 0;
    }
    .tp-faq-thumb {
        height: 600px;
    }
}
@media screen and (max-width: 767.98px) {
    header .tp-header-area .row > [class*='col-']:first-child,
    header .tp-header-area .row > [class*='col-']:last-child {
        width: auto;
    }
    .tp-faq-thumb {
        height: 420px;
    }
    .tp-slider-3-bg {
        background-position: center left !important;
    }
    main.multi-section-form-holder .container {
        max-width: 900px;
        width: 100%;
    }
    .breadcrumb__area {
        padding: 60px 0 5px !important;
    }
    .breadcrumb__area .breadcrumb__content > .breadcrumb__section-title-box > .breadcrumb__subtitle,
    .breadcrumb__area .breadcrumb__list {
        display: none !important;
    }
    .breadcrumb__area .breadcrumb__content {
        justify-content: center !important;
        text-align: center !important;
    }
    .tp-faq-space {
        padding-top: 40px !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
    }
    main > section:first-child,
    main > .tp-contact-3-area,
    main > .tp-service-details-area,
    main > .tp-testimonial-3-area {
        padding-top: 40px !important;
    }
}
@media screen and (max-width: 575.98px) {
    .tp-header-top-wrap .tp-header-top-left-box ul li a {
        color: #fff;
        font-size: 18px;
        font-weight: 600;
    }
    a.anchor_no_bg {
        font-size: 33px !important;
    }
    .tp-slider-3-height {
        padding-top: 180px;
        padding-bottom: 80px;
    }
    .tp-slider-3-button {
        display: flex;
        flex-direction: column;
        align-items: start;
    }
    .tp-faq-thumb {
        height: 300px;
    }
}
/* Hide Woo details on small screens */

@media (max-width: 991px) {
    .tp-shop-details__wrapper {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .banner-section .tp-slider-3-height {
        padding-top: 90px;
        padding-bottom: 80px;
    }
    .banner-section .tp-slider-3-title {
        margin-bottom: 20px;
    }
    .banner-section .tp-slider-2-play-text h2 {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .banner-section .tp-slider-3-button .tp-btn {
        width: 100%;
        max-width: 236px;
    }
    .banner-section .tp-slider-2-play-text {
        margin-top: 7px;
    }
}
