/*
Theme Name: Divi Child
Theme URI: https://www.elegantthemes.com/
Description: Divi Child Theme
Author: Elegant Themes
Author URI: https://www.elegantthemes.com
Template: Divi
Version: 1.0.48
*/

/* =Theme customization starts here
------------------------------------------------------- */
:root {
    --red-color: #df1923;
    --red-color-200: #DF1A22;
    --white-color-200: #e5e5e5;
    --white-color-100: #F1F1F1;
    --dark-color-200: #595959;
    --white: #FFFFFF;
    --font-Plus-Jakarta-Sans: 'Plus Jakarta Sans', Helvetica, Arial, Lucida, sans-serif;
    --font-Bebas-Neue: 'Bebas Neue', Helvetica, Arial, Lucida, sans-serif;
}
.grecaptcha-badge {
    visibility: hidden;
}
/* === display: flex !important === */
.locationTab .et_pb_row,
.locationTab .et_pb_tabs_controls,
.brand-cont > .et_pb_column,
.commercial-cont > .et_pb_column,
.reviewsRow,
.service-card,
.ipad-btn-call > a,
.service-card .service-image,
.row-grid,
.row-grid > .col-grid,
.location-suburb-card,
.widget-main-wrap,
.main-wrap,
.blurb-v-center > .et_pb_blurb_content,
.blurb-v-center > .et_pb_blurb_content .et_pb_main_blurb_image > span,
.primary-nav-menu .nav li li > a,
.process-wrap,
.process-wrap > span:last-child,
.why-items .et_pb_main_blurb_image > span,
.service-icons,
#load-more-btn,
.sp-flex .et_pb_image_wrap,
.sp-flex1,
.sp-flex1 .et_pb_image_wrap,
.locationCont,
.styContainer .et_pb_code_inner,
.icon,
.widget-link > .et_pb_blurb_content,
.heroBtnCont {
    display: flex !important;
}

/* === align-items: center !important === */
.btn-custom-icon,
.service-card .service-image,
.service-card .read-more,
.widget-link > .et_pb_blurb_content,
.location-suburb-card,
.widget-main-wrap,
.blurb-v-center > .et_pb_blurb_content,
.main-wrap,
.blurb-v-center > .et_pb_blurb_content .et_pb_main_blurb_image > span,
.primary-nav-menu .nav li li > a,
.navi-wrap,
.process-wrap,
.process-wrap > .process-counter,
.why-items .et_pb_main_blurb_image > span,
.service-icons,
.brand-logo,
.read-more,
#load-more-btn,
.sp-flex,
.sp-flex .et_pb_image_wrap,
.sp-flex1,
.sp-flex1 .et_pb_image_wrap,
.icon,
.row-banner > div {
    align-items: center !important;
}

/* === display: block !important === */
.sp-flex .et_pb_image img,
.sp-flex1 .et_pb_image img,
.map-active,
.service-card .service-image img {
    display: block !important;
}

/* === display: grid === */
.brand-cont,
.commercial-cont,
.custom-services-grid,
.location-suburb-wrapper,
.widget-header,
.brand-logos > div,
.navi-wrap,
.process-wrap > .process-counter,
.brand-logo,
.why-item-list {
    display: grid;
}
.multiple-file-attachement {
    display: block;
	 overflow: hidden;
}

/* Visually-hidden label text (accessible, off-screen) */
.multiple-file-attachement .hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Hide the native file input (plugin already adds .d-none) */
.multiple-file-attachement .wpcf7-drag-n-drop-file,
.multiple-file-attachement .d-none {
    display: none;
}

/* ---- Outer pink panel with blue dashed border ---- */
.multiple-file-attachement .codedropz-upload-handler {
    position: relative;
    box-sizing: border-box;
    padding: 10px;
    background-color: #f1b3af;
    border: 2px dashed #5566e0;
    border-radius: 10px;
}

/* ---- Inner light dashed frame ---- */
.multiple-file-attachement .codedropz-upload-container {
    box-sizing: border-box;
    border: 2px dashed rgba(255, 255, 255, 0.75);
    border-radius: 6px;
    padding: 20px;
}

/* ---- Centered content area ---- */
.multiple-file-attachement .codedropz-upload-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
}

/* Main heading: "Drag & Drop Files Here" */
.multiple-file-attachement .codedropz-upload-inner > span:first-child {
    font-size: 0;            /* collapses the original plugin text */
    line-height: 1.1;
    color: #1f1f1f;
}

.multiple-file-attachement .codedropz-upload-inner > span:first-child::before {
    content: "Drag & Drop Files Here";
    font-size: 35px;
}

/* "or" separator */
.multiple-file-attachement .codedropz-upload-inner > span:nth-child(2) {
    font-weight: 700;
    color: #2a2a2a;
}

/* ---- Browse Files link ---- */
.multiple-file-attachement .codedropz-btn-wrap {
    line-height: 1;
}
.multiple-file-attachement .cd-upload-btn,
.multiple-file-attachement .dnd-upload-counter,
.multiple-file-attachement .codedropz-upload-inner > span:nth-child(2) { 
    font-size: 12px;
}
.multiple-file-attachement .cd-upload-btn {
    display: inline-block;
    font-weight: 600;
    color: #c0453a;
    text-decoration: none;
    transition: color 0.15s ease;
}

.multiple-file-attachement .cd-upload-btn:hover,
.multiple-file-attachement .cd-upload-btn:focus {
    color: #9c352c;
    text-decoration: underline;
}

/* ---- "0 of 5" counter, bottom-right ---- */
.multiple-file-attachement .dnd-upload-counter {
	position: absolute;
    right: 30px;
    bottom: 25px;
    font-weight: 600;
    color: #838383;
}
/* === display: inline-block === */
.submitCont .submitBtn::after,
.cf7-submitBtn::after,
.read-more::after,
#load-more-btn::after {
    display: inline-block;
}

/* === display: inline-flex === */
.btn-custom-icon,
.locationTab .et_pb_tabs_controls li,
.service-card .read-more,
.read-more {
    display: inline-flex;
}

/* === display: none === */
.mapServe-Adelaide,
.mapServe-Brisbane,
.mapServe-Melbourne,
.mapServe-Sydney,
.mapServe-Perth,
.locationTab .et_pb_tabs_controls::-webkit-scrollbar,
.cf7-form-wrap label.cf7-label span.hidden,
.cf7-form-wrap input[type="file"]::file-selector-button {
    display: none;
}

/* === justify-content: center === */
.service-card .service-image,
.row-grid,
.location-suburb-card,
.main-wrap,
.blurb-v-center > .et_pb_blurb_content .et_pb_main_blurb_image > span,
.process-wrap > .process-counter,
.why-items .et_pb_main_blurb_image > span,
.service-icons,
.brand-logo,
#load-more-btn {
    justify-content: center;
}

/* === margin-bottom: 0 !important === */
.widget-link,
.widget-link .et_pb_main_blurb_image,
.blurb-v-center > .et_pb_blurb_content > .et_pb_main_blurb_image,
.blurb-v-center .et_pb_module_header {
    margin-bottom: 0 !important;
}

/* === position: relative === */
.input-with-icon,
.styContainer .search-result ul#list-col,
.styContainer .search-result ul,
.btn-custom-icon {
    position: relative;
}

/* === border-radius: 6px === */
.ff-el-group.form-upload,
#load-more-btn,
#location-search {
    border-radius: 6px;
}

/* === float: none !important === */
.locationTab .et_pb_tabs_controls li,
.brand-cont > .et_pb_column,
.commercial-cont > .et_pb_column {
    float: none !important;
}

/* === flex-direction: row === */
.heroBtnCont,
.reviewsRow,
.row-grid,
.process-wrap,
.locationCont {
    flex-direction: row;
}

/* === flex-direction: column === */
.row-grid > .col-grid,
.brand-cont > .et_pb_column,
.commercial-cont > .et_pb_column,
.service-card {
    flex-direction: column;
}

/* === width: 100% !important === */
.et_pb_image .et_pb_image_wrap img[src*=".svg"],
.input-with-icon,
#location-search,
.styContainer,
.submitCont button.ff-btn.ff-btn-submit.ff-btn-md.submitBtn.ff_btn_style,
.mapServe iframe,
.brand-cont > .et_pb_column,
.commercial-cont > .et_pb_column {
    width: 100% !important;
}

/* === background: var(--red-color) === */
.service-card .service-image img,
.process-wrap > .process-counter {
    background: var(--red-color);
}

/* === background-color: var(--white) !important === */
.ff-el-group.form-upload,
.formfullName input#ff_1_names_first_name_.ff-el-form-control,
.formName {
    background-color: var(--white) !important;
}

/* === background-color: var(--red-color-200) !important === */
.submitCont button.ff-btn.ff-btn-submit.ff-btn-md.submitBtn.ff_btn_style,
.why-items .et_pb_main_blurb_image > span,
.service-icons,
.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-next,
.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-prev,
#load-more-btn {
    background-color: var(--red-color-200) !important;
}

/* === font-family Bebas Neue (merged) === */
.submitCont button.ff-btn.ff-btn-submit.ff-btn-md.submitBtn.ff_btn_style,
.service-card .read-more,
.read-more,
#load-more-btn,
.cf7-form-wrap button[type="submit"],
.form-cta-call,
.form-cta-call .et_pb_text_inner *,
.form-cta-call .et_pb_text_inner,
.form-cta-call a,
.btn-custom,
.blog-list .pagination a,
.red-badge p {
    font-family: var(--font-Bebas-Neue);
}

.trust-signal-title {
    font-family: var(--font-Bebas-Neue) !important;
}

/* === font-family Plus Jakarta Sans !important === */
.formfullName input#ff_1_names_first_name_.ff-el-form-control,
.formName,
.ff-default .ff-el-form-control,
.fluentform .ff-el-input--label,
.service-excerpt,
.location-name {
    font-family: var(--font-Plus-Jakarta-Sans) !important;
}

/* === font-family Plus Jakarta Sans (no !important) === */
.key-takeaways .et_pb_blurb_description,
.trust-signal-content {
    font-family: var(--font-Plus-Jakarta-Sans);
}

/* === Arrow background sprite === */
.btn-custom-icon::after,
.read-more::after {
    background: url('/wp-content/uploads/2026/02/red-arrow-slope.svg') no-repeat center;
    width: 16px;
    height: 16px;
}

.btn-custom-icon::after {
    content: "";
    margin-left: 8px;
    margin-top: 5px;
}

.btn-custom-icon::after,
.read-more::after,
#load-more-btn::after {
    background-size: contain !important;
}

.btn-custom.has-sub-text:after {
    content: attr(data-text);
    transform: none !important;
}

.btn-custom.has-sub-text {
    gap: 5px;
}

/* === Form input shared styling === */
.formfullName input#ff_1_names_first_name_.ff-el-form-control,
.formName {
    background-color: var(--white) !important;
    border: solid 1px var(--white-color-100) !important;
    padding: 15px 10px !important;
    border-radius: 6px !important;
}

/* === Sections === */
.et_pb_section .et_pb_button_2 {
    text-underline-offset: 5px;
}

.process-main-wrap {
    gap: 40px;
    display: flex !important;
    flex-wrap: wrap !important;
}

.process-main-wrap > div {
    width: calc(20% - 40px) !important;
    flex: 1;
}

.position-unset {
    position: unset !important;
}

.technicians-listing > div {
    flex-grow: 1;
    width: calc(33.33% - 30px);
}

.technicians-listing > div,
.technicians-listing > div > div,
.row-banner > div > div > div {
    max-width: none !important;
}

.lt-card-review,
.lt-card-a {
    background: #f8f8f8;
    padding: 20px;
}

.lt-card-review {
    border-top: 4px solid #dd1a23;
}

.lt-card-a {
    border-left: 4px solid #dd1a23;
}

.lt-card-a > div:first-child *,
.lt-card-a > div:nth-child(2) * {
    font-weight: bold;
}

.lt-card-a > div:first-child * {
    color: #595959;
    text-transform: uppercase;
}

.lt-card-a > div:nth-child(2) * {
    color: #034472;
}

.lt-card-a > div:nth-child(3) * {
    color: #595959;
}

.bland-list img {
    max-height: 50px;
    object-fit: contain;
    min-height: 50px;
}

/* === MERGED: .et_pb_menu .et_pb_menu__menu>nav>ul>li.mega-menu>ul (was 2 blocks) === */
.et_pb_menu .et_pb_menu__menu > nav > ul > li.mega-menu > ul {
    max-height: calc(100vh - 30vh);
    overflow: auto;
    top: calc(100% - 26px) !important;
    z-index: 2;
}

.key-takeaways {
    padding: 40px;
}

.key-takeaways:before,
.key-takeaways:after {
    content: "";
    width: 30%;
    height: 30%;
    position: absolute;
}

.key-takeaways:before {
    border-right: 4px solid #dd1a23;
    right: 0;
    bottom: 0;
    border-bottom: 4px solid #dd1a23;
}

.key-takeaways:after {
    border-left: 4px solid #dd1a23;
    left: 0;
    top: 0;
    border-top: 4px solid #dd1a23;
}

.key-takeaways .et_pb_blurb_description {
    font-size: 16px;
    margin-top: 25px;
}

.max-w-892 {
    max-width: 892px;
}

.trust-signal-media {
    max-width: 50px;
}

.trust-signal-title {
    text-align: center;
    font-size: 24px !important;
}

.trust-signal-section {
    margin-top: -150px;
    padding: 0 64px !important;
    background: transparent;
}

.trust-signal-content {
    color: #595959;
    text-align: center;
    font-size: 16px;
}

/* === MERGED: .row-banner > div (was 2 blocks) === */
.row-banner {
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.3);
    padding: 20px 0;
    gap: 0;
}

.row-banner > div {
    padding: 18px 40px;
}

.row-banner > div:not(:last-child) {
    border-right: 1px solid rgba(42, 42, 42, 0.1);
}

/* === CF7 form === */
.cf7-form-wrap {
    display: grid;
    gap: 15px;
}

.cf7-form-wrap label.cf7-label {
    display: block;
    font-size: 14px;
    color: #6f7a83;
    width: 100%;
}

.cf7-form-wrap input[type="text"],
.cf7-form-wrap input[type="email"],
.cf7-form-wrap input[type="tel"],
.cf7-form-wrap textarea {
    width: 100%;
    padding: 15px 10px;
    border-radius: 6px;
    border: 1px solid #F1F1F1;
    background: #ffffff;
    font-size: 16px;
    color: #333;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.cf7-form-wrap input::placeholder,
.cf7-form-wrap textarea::placeholder {
    color: #9aa3ab;
}

.cf7-form-wrap input:focus,
.cf7-form-wrap textarea:focus {
    background: #fff;
    box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.15);
}

.cf7-form-wrap .input-flex {
    display: flex;
    gap: 15px;
}

.cf7-form-wrap .input-flex > label {
    flex: 1;
}

.cf7-form-wrap .input-flex > label.postcode {
    flex: 0.5;
}

.cf7-form-wrap input[type="file"] {
    width: 100%;
    padding: 40px 20px;
    border: 2px dashed #ff6b6b;
    border-radius: 12px;
    background: #f9caca;
    text-align: center;
    cursor: pointer;
    color: #555;
}

.cf7-form-wrap textarea {
    min-height: 120px;
    resize: vertical;
}

.cf7-form-wrap button[type="submit"] {
    width: 100%;
    padding: 18px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(90deg, #ff1a1a, #d60000);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cf7-form-wrap button[type="submit"]:hover {
    background: linear-gradient(90deg, #d60000, #b80000);
    transform: translateY(-2px);
}

.wpcf7-response-output {
    border-radius: 8px;
    padding: 10px;
    font-size: 14px;
}

/* === Misc === */
.logo-wrap {
    max-width: 250px;
}

.search-icon,
.dispose-search {
    cursor: pointer;
}

div#hide-row {
    display: none !important;
}

.form-cta-call a {
    color: #dd1a23;
}

/* === Service Pricing Table === */
.service-pricing-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 16px;
}

.service-pricing-table thead {
    background-color: #f5f5f5;
}

.service-pricing-table th {
    text-align: left;
    padding: 12px 15px;
    font-weight: 600;
    border-bottom: 2px solid #ddd;
}

.service-pricing-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

.service-pricing-table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

.service-pricing-table tbody tr:hover {
    background-color: #f1f1f1;
}

/* === Form wrap === */
.form-wrap {
    background-color: #f5f5f5;
    padding: 40px;
    border-radius: 20px;
    height: max-content;
}

.form-heading-wrap {
    display: block !important;
}

.form-heading-wrap > div {
    display: flex!important;
    align-items: center!important;
}

.form-cta-call,
.form-cta-call .et_pb_text_inner *,
.form-cta-call .et_pb_text_inner,
.form-cta-call a {
    font-size: 36px;
    font-weight: bold;
}

.wp-core-ui .attachment .thumbnail {
    background: gray;
}

header {
    z-index: 6 !important;
    position: relative !important;
}

.card-style-a * {
    color: #131414 !important;
}

.card-style-a {
    background: #f8fafc;
    padding: 30px;
    border-radius: 6px;
}

.site-header .et_pb_column--with-menu {
    position: unset !important;
}

/* === Blog list === */
.blog-list article img,
.blog-list.single article img {
    width: 100%;
    object-fit: cover;
}

.blog-list article img {
    max-height: 345px;
    min-height: 345px !important;
}

.blog-list.single article img {
    max-height: 235px;
    min-height: 235px !important;
}

.blog-list .post-content-inner {
    padding: 30px 0 40px;
}

.blog-list p.post-meta > .published {
    display: flex;
    align-items: center;
    gap: 4px;
}

.blog-list p.post-meta > .published:before {
    content: url(/wp-content/uploads/2026/02/solar_calendar-bold.svg);
    display: inline-block;
    height: 18px;
    width: 18px;
}

.blog-list a.more-link:after {
    content: url(/wp-content/uploads/2026/02/red-arrow-slope.svg);
    display: inline-block;
    width: 16px;
    height: 16px;
}

.blog-list a.more-link {
    border-bottom: 2px solid #df1923;
    width: fit-content;
    display: flex !important;
    gap: 10px;
}

.blog-list .et_pb_image_container {
    margin: auto !important;
}

.blog-list article {
    padding: 0 !important;
    background-color: transparent !important;
}

.blog-list .pagination {
    justify-content: center;
    align-items: center;
    display: flex;
    padding-top: 100px;
}

.blog-list .pagination a {
    background: #df1923;
    padding: 24px;
    color: white;
    font-size: 24px;
    border-radius: 6px;
}

.postcon img {
    width: 100%;
    border-radius: 6px;
}

#mobile_menu2 {
    max-height: calc(100vh - 25vw);
    overflow: auto;
}

.social-acc.social-footer > li > a:before {
    background-color: #dd1a23 !important;
}

.social-acc > li > a:before {
    background-color: #ffffff !important;
    border-radius: 100px;
}

nav.rank-math-breadcrumb * {
    color: white;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
}

/* === Footer map tab === */
.footer-map-tab ul:after {
    border: none !important;
}

.footer-map-tab ul.et_pb_tabs_controls,
.footer-map-tab .et_pb_tab {
    background-color: #f8f8f8;
}

.footer-map-tab ul.et_pb_tabs_controls {
    border-bottom: 1px solid #8888;
}

.footer-map-tab .et_pb_tabs_controls li a {
    padding: 0 17px 20px;
}

.footer-map-tab .et_pb_tabs_controls li {
    border-right: none;
}

.footer-map-tab li.et_pb_tab_active {
    border-bottom: 2px solid #df1923;
}

.service-blurb-wrap {
    gap: 39px;
}

.service-blurb .et_pb_image_wrap {
    max-height: 100px;
    max-width: 100px;
    padding: 28px 30px;
    border-radius: 15px;
    background-color: #dd1a23;
    min-width: 100px;
    min-height: 100px;
    align-items: center;
    display: grid;
    justify-content: center;
}

/* === Custom button === */
.btn-custom {
    background: #df1923;
    padding: 24px !important;
    border-radius: 6px;
    color: white !important;
    font-size: 24px;
    border: 2px solid #df1923;
	justify-content: center;
}

.btn-custom > span {
    flex-direction: row-reverse !important;
    justify-content: center;
    gap: 9px;
}

.btn-custom:hover {
    background: rgba(223, 26, 34, 0.5);
}

.btn-custom.btn-alt {
    background-color: rgb(223 26 34 / 50%);
}

.btn-custom.btn-alt:hover {
    background-color: #DF1A22;
}

.link-a:hover {
    background-color: transparent !important;
}

.link-a:after,
.btn-arrow:after,
.btn-arrow span.et-pb-icon {
    transform: rotate(45deg) !important;
    position: initial !important;
}

/* === Service grid === */
.service-grid > div {
    padding: 40px 24px;
    width: 25%;
    flex: 1 1 auto;
    border-right: 1px solid #00000040;
    border-top: 1px solid #00000040;
}

.service-grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0;
}

.service-grid > div:last-child,
.service-grid > div:nth-child(4n) {
    border-right: none;
}

.why-items .et_pb_blurb_content {
    display: block !important;
}

.why-item-list {
    gap: 19px;
}

.form-widgets > div:not(:last-child) {
    border-bottom: 1px solid rgba(64, 59, 54, 0.12);
    padding-bottom: 20px !important;
}

.why-item-list > div:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.why-items .et_pb_blurb_content .et_pb_text {
    padding: 20px 0;
}

.red-badge {
    padding: 12px 20px;
    background-color: #dd1a23;
    border-radius: 200px;
}

.red-badge p {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    color: white;
}

.faq-row > .et_pb_toggle_open {
    border: 1px solid var(--red-color) !important;
    padding: 50px 40px;
}

.faq-row > .et_pb_toggle_close {
    padding: 25px 40px;
    border: 1px solid #055791 !important;
}

ul#mobile_menu1 {
    max-height: calc(100vh - 100px);
    overflow: auto;
}

.faq-row > div {
    transition: background-color 0.3s ease-in-out;
}

.et_pb_social_media_follow li > a {
    pointer-events: auto;
}

.submitCont button.ff-btn.ff-btn-submit.ff-btn-md.submitBtn.ff_btn_style {
    color: var(--white) !important;
    padding: 15px 20px !important;
    font-size: 24px !important;
    text-transform: uppercase !important;
    cursor: pointer;
}

.submitCont .submitBtn::after,
.cf7-submitBtn:after {
    content: url('/wp-content/uploads/2026/02/arrow-slope.svg');
    margin: 0 0 0 12px;
    vertical-align: -1px;
}

.ff-el-group.form-upload {
    padding: 14px 20px;
    border: solid 1px var(--white-color-100);
}

.ff-default .ff-el-form-control,
.fluentform .ff-el-input--label {
    font-size: 16px;
    color: var(--dark-color-200) !important;
}

.fluentform .ff_upload_btn.ff-btn {
    background: var(--red-color-200) !important;
    background-color: rgba(224, 43, 32, 0.5) !important;
    border-radius: 6px !important;
}

.fluentform .ff-el-group {
    margin-bottom: 10px !important;
}

.contact-footer .et_pb_blurb_content,
.commercialCont .et_pb_blurb_content {
    margin: 0 !important;
}

.footer-container .logo-column,
.footer-container .services-column {
    width: 20% !important;
}

.footer-container .links-column {
    width: 10% !important;
}

.footer-container .location-column {
    width: 50% !important;
}

/* === locationTab === */
.locationTab .et_pb_tabs_controls li.et_pb_tab_active {
    border-bottom: solid 2px var(--red-color-200) !important;
}

.locationTab.et_pb_tabs_0_tb_footer .et_pb_tabs_controls li,
.locationTab.et_pb_tabs_0_tb_footer .et_pb_tabs_controls li.et_pb_tab_active,
.locationTab ul.et_pb_tabs_controls.clearfix {
    background-color: #F8F8F8 !important;
}

.locationTab .et_pb_tabs_controls li {
    border-right: 0 !important;
    border-bottom: solid 2px #B8B8B8 !important;
}

/* === MERGED: .locationTab .et_pb_tabs_controls (was 2 blocks) === */
.locationTab .et_pb_tabs_controls {
    flex-wrap: nowrap;
    justify-content: space-between;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.locationTab .et_pb_tabs_controls li a {
    padding: 12px 20px;
    white-space: nowrap;
}

.locationTab .et_pb_all_tabs {
    background-color: transparent !important;
}

.locationTab p {
    padding-bottom: 0 !important;
}

.heroCont1 {
    background: #F5F5F5;
    padding: 20px 40px;
    border-radius: 20px;
}

.heroBtnCont {
    column-gap: 12px;
}

.heroFormNum a {
    color: var(--red-color-200) !important;
    text-decoration: underline;
}

.heroFormNum a:hover {
    color: #024472 !important;
}

.areaweserve-acc a {
    color: var(--red-color-200) !important;
    text-decoration: underline !important;
}

.areaweserve-acc .et_pb_toggle.et_pb_module.et_pb_accordion_item.et_pb_toggle_open,
.brand-logo {
    border-radius: 10px !important;
}

.areaweserve-acc div.et_pb_toggle_content.clearfix {
    padding: 30px 0 0 0 !important;
}

.areaweserve-acc a:hover {
    color: var(--white) !important;
}

/* === MERGED: brand-cont/commercial-cont === */
.brand-cont,
.commercial-cont {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.brand-cont > .et_pb_column,
.commercial-cont > .et_pb_column {
    margin: 0 !important;
    row-gap: 20px;
}

.reviewsRow {
    gap: 60px;
}

.reviewCont .reviewColumn1 {
    width: 20% !important;
}

.reviewCont .reviewColumn2 {
    width: 80% !important;
}

.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-next,
.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-prev {
    outline-color: var(--red-color-200) !important;
}

.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-next:before,
.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-prev:before {
    border-color: var(--white) !important;
}

.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-next {
    right: -50px;
}

.reviewCont .reviewColumn2 .ti-widget.ti-goog .ti-controls .ti-prev {
    left: -50px;
}

.btn-custom-icon.et_pb_button:hover {
    background-color: #df1a2200;
}

.faq-row a {
    text-decoration: underline !important;
    cursor: pointer !important;
}

.faq-row a:hover {
    color: var(--red-color-200) !important;
}

.services-grid-wrapper {
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
}

.custom-services-grid {
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--white-color-200);
    border-bottom: 1px solid var(--white-color-200);
}

.service-card {
    padding: 40px 24px;
    border-left: 1px solid var(--white-color-200);
    background: #fff;
    justify-content: space-between;
}

.service-card:first-child {
    border-left: none;
}

.service-card .service-image img,
.service-card svg,
.service-icon svg {
    width: 100px;
    height: 100px;
}

.service-card .service-image img {
    object-fit: contain;
    margin-bottom: 40px;
    border-radius: 15px;
    padding: 25px;
}

.service-title {
    font-family: 'Blinker';
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 11px;
}

.service-title a {
    color: #000;
    text-decoration: none;
}

.service-excerpt {
    font-size: 16px;
    color: var(--dark-color-200);
    line-height: 1.5;
    margin-bottom: 40px;
}

.service-card .read-more {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--red-color-200);
    text-decoration: none;
    gap: 6px;
}

/* === MERGED: .row-grid > .col-grid (was 3 blocks) === */
.row-grid {
    align-items: stretch;
    border-top: 1px solid #00000040;
}

.row-grid > .col-grid {
    margin-right: 0;
    border-right: 1px solid #00000040;
}

.row-grid > .col-grid:nth-child(4n) {
    border-right: none;
}

.icon-social > li {
    margin: 0;
}

.widget-link {
    animation-duration: unset;
}

.widget-link > .et_pb_blurb_content {
    gap: 10px;
}

.widget-link .et_pb_blurb_container,
.widget-link .et_pb_blurb_container * {
    padding: 0;
    font-size: 16px;
}

.widget-link .et_pb_main_blurb_image {
    width: auto;
}

.location-suburb-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    max-width: 100%;
}

.location-suburb-card {
    text-decoration: none;
    color: inherit;
    gap: 10px;
    border: solid 1px #D8D8D8;
    border-radius: 5px;
    padding: 25px 40px;
}

.location-pin {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.location-name {
    white-space: nowrap;
    font-weight: 700;
    color: #000000;
    font-size: 16px;
}

.widget-main-wrap {
    justify-content: space-between;
}

.widget-main-wrap:after {
    content: none;
}

.widget-header {
    grid-template-columns: auto auto;
    gap: 12px;
    width: auto;
    max-width: fit-content;
}

.widget-main-wrap > div:first-child {
    padding-left: calc(50vw - 720px) !important;
}

.widget-main-wrap > div:last-child {
    padding-right: calc(50vw - 720px) !important;
}

.main-wrap > .et_pb_column {
    max-width: 1312px;
}

.blurb-v-center > .et_pb_blurb_content > .et_pb_main_blurb_image,
.blurb-v-center .et_pb_module_header {
    padding-bottom: 0 !important;
}

.blurb-v-center .et_pb_blurb_description {
    margin-top: 10px;
}

.blurb-v-center > .et_pb_blurb_content .et_pb_main_blurb_image > span {
    height: 50px;
    width: 50px !important;
    border-radius: 7.5px;
    padding: 12px;
    background-color: var(--red-color) !important;
}

.blurb-v-center > .et_pb_blurb_content .et_pb_main_blurb_image {
    width: 50px !important;
}

.et_pb_social_network_link > a.icon {
    top: 0;
    right: 0;
    transform: unset;
}

.brand-logos > div {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.25rem;
}

.primary-nav-menu .mobile_nav.opened > span:before {
    content: "\4d" !important;
}

.primary-nav-menu .nav li li > a {
    gap: 0.375rem;
    justify-content: space-between;
}

.primary-nav-menu,
.primary-nav-menu > div.et_pb_menu_inner_container {
    position: unset !important;
}

.primary-nav-menu .nav li li {
    padding: 0 !important;
}

.primary-nav-menu .nav li:not(.mega-menu) > ul > li,
.primary-nav-menu .nav li li > a {
    width: 100% !important;
}

.navi-wrap {
    grid-template-columns: 250px 1fr 179px;
    gap: 8px;
}

.link-blurb .et_pb_blurb_container {
    padding-left: 0 !important;
}

.link-blurb .et_pb_blurb_container > .et_pb_module_header {
    padding-left: 25.5px;
}

.link-blurb .et_pb_main_blurb_image {
    width: auto;
    position: absolute;
    top: 4px;
}

.process-wrap {
    gap: 20px;
}

.process-wrap > .process-counter {
    font-size: 35px;
    font-weight: bold;
    color: white;
    height: 60px;
    width: 60px;
    border-radius: 9px;
    padding: 8px 21.5px;
    font-family: 'Blinker', Helvetica, Arial, Lucida, sans-serif;
}

.process-wrap > span:last-child * {
    height: 1px;
    background: #989191;
}

.process-wrap > span:last-child > span:nth-child(odd) {
    width: 15px;
}

.process-wrap > span:last-child > span:nth-child(even) {
    width: 30px;
}

.process-wrap > span:last-child {
    gap: 5px;
    width: 150px;
    overflow: hidden;
}

.service-icons {
    border-radius: 15px;
    min-width: 100px;
    min-height: 100px;
}

.why-items .et_pb_main_blurb_image > span {
    border-radius: 9px;
    min-width: 60px;
    min-height: 60px;
}

.brand-logo {
    background: #fff;
    padding: 1.75rem 1.313rem;
    align-content: center;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1);
}

.read-more {
    color: var(--red-color-200);
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.04em;
    text-decoration: none;
    border-bottom: 2px solid var(--red-color-200);
    padding-bottom: 1px;
    margin-top: auto;
    align-self: flex-start;
}

.read-more::after {
    margin-left: 8px;
    flex-shrink: 0;
}

#load-more-btn {
    gap: 8px;
    margin: 100px auto !important;
    padding: 24px;
    border: 1px solid var(--red-color-200);
    cursor: pointer !important;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--white);
}

#load-more-btn::after {
    background: url('/wp-content/uploads/2026/02/arrow-slope.svg') no-repeat center;
    width: 20px;
    height: 20px;
}

/* === MERGED: sp-flex / sp-flex1 === */
.sp-flex,
.sp-flex1 {
    gap: 8px;
}

.sp-flex {
    padding-left: 20px !important;
    margin: 0 !important;
}

.sp-flex > .et_pb_module,
.sp-flex1 > .et_pb_module {
    flex: 0 0 auto;
    margin: 0 !important;
}

.sp-flex .et_pb_image img,
.sp-flex1 .et_pb_image img {
    width: 18px;
    height: auto;
}

.sp-flex1 {
    justify-content: flex-end;
    padding-right: 20px !important;
    margin: 0 !important;
}

.locationCont {
    align-items: flex-end;
}

.styContainer .et_pb_code_inner {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    row-gap: 20px;
    column-gap: 5px;
    min-height: 300px;
}

.styContainer .search-result {
    width: calc(30% - 15px);
    box-sizing: border-box;
    text-align: center;
}

.styContainer .search-result ul {
    list-style-type: none;
    padding-left: 10px;
    padding-bottom: 20px;
    column-count: 1 !important;
}

.styContainer .search-result ul li > a::before {
    content: url('/wp-content/uploads/2026/01/Vector-4.svg');
    padding-right: 9px;
}

.styContainer .search-result ul li {
    padding: 25px;
    border-radius: 5px;
    background-color: transparent;
    border: solid 1px #D8D8D8;
}

.styContainer .search-result ul > li:not(:last-child) {
    margin-bottom: 30px;
}

.styContainer .search-result h3 {
    font-family: 'Franko', sans-serif;
    font-size: 48px;
    color: #0F0F0F !important;
    font-weight: 700;
    margin-bottom: 16px;
}

.styContainer .search-result li > a {
    font-weight: 700 !important;
    color: #000000 !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: underline;
}

.styContainer .search-result li > a:hover {
    color: #831716 !important;
}

#location-search {
    padding: 24px;
    padding-right: 45px;
    border: solid 1px #DDDDDD;
    background-color: #E7E7E780;
    box-sizing: border-box;
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    color: var(--dark-color-200);
    font-size: 16px;
}

.icon {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    height: 100%;
}

.icon img {
    width: 20px;
    height: 20px;
}

.styContainer .search-result ul#list-col {
    list-style-type: none;
    padding-left: 2em;
    padding-bottom: 20px;
}

/* ============================================
   MEDIA QUERIES (merged duplicates)
   ============================================ */

/* === @media (max-width: 1024px) — merged 2 blocks === */
@media (max-width: 1024px) {
    .reviewCont .reviewColumn1,
    .reviewCont .reviewColumn2 {
        width: 50% !important;
    }
    .styContainer .search-result {
        width: calc(33.333% - 15px);
    }
    .styContainer .search-result ul {
        column-count: 1 !important;
        padding-left: 0;
        padding-bottom: 0;
        text-align: center;
    }
    .styContainer .search-result ul li {
        display: inline-block;
        width: auto;
        margin: 10px;
    }
    .custom-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .service-card:nth-child(odd) {
        border-left: none;
    }
    .service-card:nth-child(n+3) {
        border-top: 1px solid #e5e5e5;
    }
}

@media (max-width: 992px) {
    .cf7-form-wrap .input-flex {
        flex-direction: column;
    }
    .technicians-listing > div {
        width: calc(50% - 30px);
    }
	.multiple-file-attachement .codedropz-upload-inner>span:first-child::before {
		font-size:17px;
	}
}

@media (max-width: 991px) {
    .service-grid > div {
        width: 33.33%;
    }
    .service-grid > div:nth-child(4n) {
        border-right: 1px solid #00000040;
    }
    .service-grid > div:nth-child(3n) {
        border-right: none;
    }
}

/* === @media (max-width: 980px) — merged 2 blocks === */
@media (max-width: 980px) {
    .row-banner {
        flex-direction: column !important;
    }
    .row-banner > div:nth-child(2) {
        border-top: 1px solid rgba(42, 42, 42, 0.1);
        border-bottom: 1px solid rgba(42, 42, 42, 0.1);
        border-right: none;
        border-left: none;
    }
    .brand-cont .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5,
    .et_pb_row_5col > .et_pb_column.et_pb_column_1_5 {
        width: 50%;
        margin-right: 20px !important;
    }
    .primary-nav-menu .et_mobile_nav_menu {
        background: #df1a23;
        padding: 8px;
        border-radius: 5px;
        margin: 0;
    }
    .process-main-wrap > div {
        width: calc(33.33% - 40px) !important;
    }
    .primary-nav-menu .et_mobile_nav_menu .mobile_nav .mobile_menu_bar:before {
        color: white !important;
        top: 0 !important;
    }
    .primary-nav-menu {
        order: 3;
    }
    .primary-nav-menu,
    .primary-nav-menu > .et_pb_menu_inner_container {
        position: unset;
    }
    .primary-nav-menu .et_pb_menu__wrap {
        justify-content: end;
    }
    .navi-wrap {
        grid-template-columns: 1fr 48px 48px;
    }
}

@media (max-width: 880px) {
    .footer-container .logo-column,
    .footer-container .links-column {
        width: 50% !important;
    }
    .footer-container .services-column {
        width: 40% !important;
    }
    .footer-container .location-column {
        width: 60% !important;
    }
    .contact-footer .et_pb_row_0_tb_footer.et_pb_row {
        display: flex !important;
        flex-direction: column-reverse !important;
        row-gap: 40px !important;
    }
    .locationCont {
        flex-direction: column;
        row-gap: 20px;
    }
    .location-suburb-card {
        padding: 20px 15px;
    }
    .heroCont1 {
        padding: 40px 30px !important;
    }
    .areaCont,
    .howItWorks-row {
        display: flex;
    }
    .areaCont {
        flex-direction: column-reverse;
        gap: 30px;
    }
    .brand-cont,
    .commercial-cont {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .howItWorks-row > .et_pb_column {
        width: 230px !important;
        float: none !important;
    }
    .howItWorks-row {
        flex-wrap: wrap;
        justify-content: center;
    }
    .howItWorks-row > .et_pb_column:nth-child(n+4) {
        margin-top: 40px;
    }
    .reviewsRow {
        flex-direction: column;
        gap: 60px;
    }
    .reviewCont .reviewColumn1,
    .reviewCont .reviewColumn2 {
        width: 100% !important;
    }
    .row-grid > .col-grid {
        border-right: none;
        border-bottom: none;
    }
    .row-grid > .col-grid:nth-child(1),
    .row-grid > .col-grid:nth-child(3) {
        border-right: 1px solid #00000040;
    }
    .row-grid > .col-grid:nth-child(1),
    .row-grid > .col-grid:nth-child(2) {
        border-bottom: 1px solid #00000040;
    }
    .row-grid .et_pb_column {
        padding: 24px !important;
    }
    .row-grid .et_pb_image img {
        height: 80px !important;
        width: 80px !important;
    }
}

@media (max-width: 768px) {
    .locationTab .et_pb_tabs_controls {
        justify-content: flex-start;
    }
    .process-main-wrap > div {
        width: 100% !important;
    }
    .service-pricing-table thead {
        display: none;
    }
    .service-pricing-table,
    .service-pricing-table tbody,
    .service-pricing-table tr,
    .service-pricing-table td {
        display: block;
        width: 100%;
    }
    .service-pricing-table tr {
        margin-bottom: 15px;
        border: 1px solid #eee;
        padding: 10px;
    }
    .service-pricing-table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
    }
    .service-pricing-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 45%;
        text-align: left;
        font-weight: 600;
    }
}

@media (max-width: 767px) {
    .service-grid > div {
        width: 50%;
    }
    .service-grid > div:nth-child(3n),
    .service-grid > div:nth-child(4n) {
        border-right: 1px solid #00000040;
    }
    .service-grid > div:nth-child(2n) {
        border-right: none;
    }
    .reviewsRow .et_pb_button {
        width: 100%;
    }
    .btn-arrow {
        text-align: center;
    }
    #location-search,
    .heroBtnCont .et_pb_button,
    .btn-arrow {
        width: 100%;
    }
    .styContainer .elementor-shortcode {
        row-gap: 50px;
    }
    .styContainer .search-result li > a {
        font-size: 14px;
    }
    .styContainer .search-result ul li {
        padding: 15px;
    }
    .heroBtnCont {
        flex-direction: column;
        row-gap: 12px;
    }
    .heroCont1 {
        padding: 30px 20px !important;
    }
}

@media (max-width: 676px) {
    .brand-logos > div {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .custom-services-grid {
        grid-template-columns: 1fr;
    }
    .service-card {
        border-left: none;
        border-top: 1px solid #e5e5e5;
    }
}

@media (max-width: 575px) {
    .styContainer .search-result,
    .styContainer .search-result ul li {
        width: 100%;
    }
    .styContainer .search-result ul li {
        margin: 0 0 10px 0;
    }
    .styContainer .search-result ul {
        column-count: 1 !important;
        padding-left: 0;
        padding-bottom: 0;
    }
    .styContainer .search-result ul > li:not(:last-child) {
        margin-bottom: 10px;
    }
    .cont {
        justify-content: space-between;
        column-gap: 20px;
    }
    .styContainer .et_pb_code_inner {
        padding: 0 20px;
    }
}

@media (max-width: 500px) {
    .formfullName input#ff_1_names_first_name_.ff-el-form-control,
    .formName {
        padding: 15px !important;
    }
    .submitCont button.ff-btn.ff-btn-submit.ff-btn-md.submitBtn.ff_btn_style {
        padding: 5px !important;
    }
    .location-suburb-card {
        padding: 12px 10px;
    }
    .howItWorks-row {
        row-gap: 20px !important;
        justify-content: flex-start;
    }
    .howItWorks-row > .et_pb_column,
    .footer-container .logo-column,
    .footer-container .location-column {
        width: 100% !important;
    }
    .footer-container .links-column {
        width: 40% !important;
    }
    .footer-container .services-column {
        width: 60% !important;
        padding: 0 !important;
    }
    .locationTab .et_pb_row {
        flex-direction: column;
    }
    .brand-cont .et_pb_image,
    .commercial-cont .et_pb_image {
        margin-bottom: 10px !important;
    }
    .brand-cont,
    .commercial-cont {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* === @media (max-width: 479px) === */
@media (max-width: 479px) {
    .service-grid > div,
    .technicians-listing > div {
        width: 100%;
    }
    .service-grid > div,
    .service-grid > div:nth-child(3n),
    .service-grid > div:nth-child(4n),
    .service-grid > div:nth-child(2n) {
        border-right: none;
    }
}

/* === @media (max-width: 425px) — merged 3 blocks === */
@media (max-width: 425px) {
    .mapServe iframe {
        height: 320px !important;
    }
    .service-excerpt,
    .service-card .service-image img {
        margin-bottom: 10px !important;
    }
    .service-card h3 {
        padding-bottom: 0 !important;
    }
    .faq-row p {
        padding-bottom: 5px !important;
    }
    .row-grid > .col-grid {
        border-right: none !important;
        border-bottom: 1px solid #00000040;
    }
    .row-grid {
        border-top: none !important;
        display: flex;
        flex-direction: column;
    }
    .brand-logos > div {
        grid-template-columns: repeat(1, 1fr);
    }
    .sp-flex,
    .sp-flex1 {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 0 !important;
    }
    .sp-flex1 {
        padding-right: 0 !important;
    }
    .sp-flex {
        padding-left: 0 !important;
    }
}

@media (min-width: 1200px) {
    .styContainer .search-result {
        width: calc(20% - 16px);
    }
}
