body .site-container div.screensdirect-contact-form > div.vc_column_container
{
	margin-left: auto;
	margin-right: auto;
	float: none;
}
/* Change background color of header */
.header-container {
    background-color: #84B4BB !important; /* Your desired background color */
}

/* Change text color of menu to white */
.menu-container .sf-menu a {
    color: white !important;
}

.sf-menu li a, .sf-menu li a:visited
{
	font-size: 16px;
}

.header-container {
    padding: 20px 0; /* Top and bottom padding, adjust as needed */
}

h4 {
        font-size: 17.5px;
        line-height: 24px;
    }

/* Add underline when hovering over the text */
.menu-container .sf-menu a:hover {
    text-decoration: underline;
}

/* Keep underline for active pages */
.menu-container .sf-menu > .current-menu-item > a,
.menu-container .sf-menu > .current-menu-ancestor > a,
.menu-container .sf-menu > .current_page_item > a,
.menu-container .sf-menu > .current_page_ancestor > a {
    text-decoration: underline !important;
}
/* Change text color of dropdown menu items */
.menu-container .sf-menu ul li a {
    color: black !important; 
}

/* Change font size of paragraphs */
p {
    font-size: 17.5px !important;
	line-height: 27px !important;
}

.wp-block-button__link:hover {
    text-decoration: none !important; /* Ensure no underline on hover */
}
/* --- Override page header styles --- */
.page-header-left h1 {
    font-size: 27px; /* Change text size */
}
/* Hide the breadcrumbs section */
.bread-crumb-container {
    display: none !important;
}
.sf-menu li, .sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active
{
  background: #84B4BB;
}
body .footer-row .wp-block-buttons>.wp-block-button
{
    width: 250px;
}
body .page-header-left
{
    width: 100%;
    text-align: center;
}
.width-80-percent {
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 225px;
}



.padding-top-54.padding-bottom-61 h2 {
    max-width: 50%;  /* Adjust this value as needed */
    margin-left: auto;
    margin-right: auto;
	margin-top: -20px;
	margin-bottom: -20px;
}

@media (max-width: 767px) {
    .width-80-percent {
        max-width: 80%; /* Adjust the max-width for mobile */
        margin-top: 20px; /* Reduce margin-top for mobile */
    }
	
    .padding-top-54.padding-bottom-61 h2 {
        max-width: 100%; /* Increase max-width for mobile */
        margin-top: 0;  /* Remove or adjust margin-top for mobile */
        margin-bottom: 0; /* Adjust bottom margin for mobile */
    }
}

@media screen and (min-width:1190px)
{
    .box-header + .wpb_text_column.description p
    {
      max-width: 910px;
      margin-left: auto;
      margin-right: auto;
    }
}
.list li {
    font-size: 17px;
}
.foot-note p {
    font-size: 15px !important;
}
.more, .more[type="submit"] {
  	font-size: 15px;
    }

.cost-calculator-container .cost-calculator-more {
    font-size: 15px;
}
.give-call p {
    font-size: 21px !important;
	text-align: center;
}



.suntex-box-header {
    text-align: center; /* Centers the text horizontally */
    display: block; /* Ensures the element behaves like a block */
  margin-top: 20px;  
	margin-left: auto;
    margin-right: auto; /* These margins auto settings center the block horizontally */
    width: fit-content; /* Makes the width of the element as wide as its content, useful for centering in parent */
    position: relative; /* Needed if we use pseudo-elements for styling like borders */
    padding-bottom: 10px; /* Space for the border, if needed */
}
.suntex-box-header::after {
    content: ''; /* Necessary for generating a pseudo-element */
    display: block; /* Block display to manipulate width and margin */
    height: 2px; /* Height of the bottom border */
    background-color: #C49877 !important; /* Border color, adjust as needed */
    width: 40px; /* Adjust this to control the width of the border */
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
}

.site-container .vc_row.yellow {
    background: #84B4BB !important;
}
.projects-text
{
	color: white;
}

.projects-text :last-child,
.projects-text p:last-child {
	color: white;
}


.tabs .ui-tabs-panel {
    text-align: left;
    padding: 42px 0 0;
}

.services-list li {
    width: 292px;
}
.tabs.ui-tabs .ui-tabs-nav li a, .ui-tabs-nav li a {
       font-size: 17.5px;
    color: #444; /* Text color of tabs */
    background: #F5F5F5; /* Background color for inactive tabs */
    padding: 20px 23px; /* Padding adjusted for better visual alignment */
    border: none; /* No borders for a cleaner look */
    font-family: 'Raleway'; /* Font family for the tabs */
    line-height: 24px; /* Line height for better readability */
    outline: none; /* Removes outline to focus on aesthetics */
    text-decoration: none; /* No underlines on the text */
}

.re-action-button {
    display: block;
    background: #C49877;
    padding: 18px 18px 18px 62px;
    font-family: 'Raleway';
    line-height: 24px;
    color: white;
	font-size: 17px;
}

.re-action-button.template-phone:before{
	color: white;
}

.re-action-button {
    cursor: not-allowed; /* Changes the cursor to indicate it cannot be clicked */
    pointer-events: none; /* Prevents all click actions on the button */
}


.accordion .ui-accordion-header h3{
        font-size: 17.5px; /* Adjust font size as needed */
			
    }

.page-id-2173 .accordion
{
    width: 71%;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width:479px)
{
    .page-id-2173 .accordion
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
}


body .sf-menu li ul,
body .sf-menu li ul li
{
    width: 135px;
}

.google-map {
     padding-bottom: 50%;
     position: relative;
}

.google-map iframe {
     height: 100%;
     width: 100%;
     left: 0;
     top: 0;
     position: absolute;
}

@media (max-width: 479px) 
{
  .google-map {
     padding-bottom: 100%;
     position: relative;
}

.google-map iframe {
     height: 100%;
     width: 100%;
     left: 0;
     top: 0;
     position: absolute;
}
}


.box-header.projects-text a {
    color: white; /* Change this to the desired color */
}

@media screen and (max-width:479px)
{
    .estimate-button.more
    {
        font-size: 13px;
    }
}

@media screen and (max-width:479px)
{
    .h3-text-mobile.box-header
    {
        font-size: 19px;
    }
}


@media screen and (max-width:479px)
{
    .suntex-box-header.box-header
    {
        font-size: 19px;
    }
}

@media screen and (max-width:479px)
{
    .margin-top-30.box-header
    {
        font-size: 19px;
    }
}

@media screen and (min-width:1190px)
{
	.header .logo a img {
    max-width: 75%;
}
}

@media screen and (max-width:479px)
{
    .header .logo a img {
    max-width: 90%;
}
}

.center-video {
  display: flex;
  justify-content: center;
  align-items: center;
}

.center-align-columns {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width:1190px)
{
.description.align-center :last-child,
.description.align-center p:last-child {
    max-width: 940px; /* Adjust the value as per your requirement */
    margin-left: auto; /* Centers the element horizontally */
    margin-right: auto; /* Centers the element horizontally */
}
}

@media screen and (max-width: 479px) {
    .center-video, .section-install {
        flex-flow: column;
        width: 100%;
        padding-left: 60px;
        padding-right: 60px;
        box-sizing: border-box;
    }

    .center-video > * {
        width: 100%;
    }
}


/* For mobile devices */
@media (max-width: 479px) {
  .section-about {
    display: flex;
    flex-direction: column;
  }

  .textbox-about,
  .image-about {
    width: 100%; /* Ensure both elements take up full width */
  }

  /* Reorder the elements */
  .textbox-about {
    order: 2;
  }

  .image-about {
    order: 1;
  }
}

@media (max-width: 479px) {
  .section-contact {
    display: flex;
    flex-direction: column;
		margin-top: -30px;
  }

  .contact-text,
  .contact-image {
    width: 100%; /* Ensure both elements take up full width */
  }

  /* Reorder the elements */
  .contact-text {
    order: 2;
  }

  .contact-image {
    order: 1;
  }
}

@media screen and (max-width:767px)
{
    body .slider-content-box .more
    {
        display: inline-block;
    }
    body .slider-content-box
{
    padding-bottom: 20px;
    margin-top: -50px;
}
	
}
@media screen and (max-width:479px)
{ 
	.slider-content-box h2{
        font-size: 18px; /* Adjust font size as needed */
			
    }
	body .slider-content-box p
    {
        display: block;
    }
    body .slider-content-box
    {
        padding-bottom: 10px;
    }
	
}

body .site-container div.screensdirect-contact-form > div.vc_column_container {
    margin-left: auto;
    margin-right: auto;
    float: none;
    width: 75%; /* Default width for desktop, adjust if necessary */
    max-width: 900px; /* Set a maximum width for larger screens */
}

/* Mobile-specific adjustments */
@media (max-width: 479px) {
    body .site-container div.screensdirect-contact-form > div.vc_column_container {
        width: 70% !important;
    }
}



@media screen and (min-width:1190px)
{
	.members-text 
	{
     max-width: 830px;
      margin-left: auto;
      margin-right: auto;
}
}


@media screen and (min-width:1190px)
{
	.multi-text 
	{
     max-width: 890px;
      margin-left: auto;
      margin-right: auto;
}
}

/* For mobile devices */
@media (max-width: 479px) {
  .section-rebate {
    display: flex;
    flex-direction: column;
  }

  .textbox-rebate,
  .image-rebate {
    width: 100%; /* Ensure both elements take up full width */
  }

  /* Reorder the elements */
  .textbox-rebate {
    order: 2;
  }

  .image-rebate {
    order: 1;
		padding-bottom: 20px;
  }
}

.section-rebate {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 479px) {
    .section-rebate {
        flex-flow: column;
        width: 100%;
        padding-left: 60px;
        padding-right: 60px;
        box-sizing: border-box;
    }

    .section-rebate > * {
        width: 100%;
    }
}

@media (min-width: 1190px) {
    .image-rebate {
    margin-top: 30px;
  }
}

@media screen and (max-width:479px)
{
.box-header.members-text
{
width: 75%;
margin-left: auto;
margin-right: auto;
}
}
.site-container .footer-row {
    background: white;
   	padding-top: 30px;
    padding-bottom: 30px !important;
}

.site-container .vc_row.gray.footer-row
{
    background: #FFF;
}


body.home .vc_row.wpb_row.vc_row-fluid.gray.full-width.page-header.vertical-align-table {
    display: none !important; 
}





body.single-post .post.single .post-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 200px;
    padding-right: 200px;
    width: 100%; 
    box-sizing: border-box;
}

body.single-post .post.single .post-content img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

body.single-post .blog .post-details {
    display: block;
    text-align: center;
    width: 100%;
}

body.single-post .blog .post-details li:first-child {
    display: block;
    margin-top: -20px;
	margin-bottom: 10px;
    text-align: center;
    width: 100%;
}

body.single-post .blog .post-content .post-details {
    text-align: left;
}

body.single-post .blog .post-content .box-header {
    text-align: center;
}

body.single-post .blog .post-content h2.box-header.align-left {
    text-align: center;
    position: relative;
    padding-bottom: 25px;
}

body.single-post .blog .post-content h2.box-header.align-left::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background-color: #C49877;
}

.blog .post-details li {
        border-right: none !important; /* Remove the right border */
    }

@media (max-width: 479px) {
    body.single-post .post.single .post-content {
        padding-left: 0;  /* Adjust padding for mobile */
        padding-right: 0; /* Adjust padding for mobile */
    }
}




/* Post Excerpt styling */
.vc_gitem-post-data-source-post_excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Number of lines you want to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: -20px;
    margin-bottom: 20px;
}




/* Adjust padding only for "Read more" link on page ID 3584 */
body.page-id-3584 .more {
    padding: 10px 20px;
	/* Adjust the padding values as needed */
}

.vc_gitem_row .vc_gitem-col {
	padding-top: 20px;
	padding-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
}

/* Add padding for mobile view for .vc_basic_grid */
@media (max-width: 479px) { 
    .vc_basic_grid {
        padding-top: 40px; 
    }
}

/* Post Excerpt styling */
.vc_gitem-post-data-source-post_excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Number of lines you want to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: -20px;
    margin-bottom: 20px;
}

/* Mobile-specific adjustments */
@media (max-width: 479px) {
	
	.vc_gitem-post-data-source-post_excerpt {
        margin-top: 10px;  /* Adjust top margin for mobile */
        margin-bottom: 10px;  /* Adjust bottom margin for mobile */
        -webkit-line-clamp: 3;  /* Number of lines you want to show on mobile */
    }
	
    .vc_gitem-post-data-source-post_excerpt {
        margin-top: -40px;  /* Adjust top margin for mobile */
        margin-bottom: 30px;  /* Adjust bottom margin for mobile */
        
    }

}

/*For border please use below css code:*/
@media screen and (max-width: 479px) {
    body .blog .post-details
    {
        border-bottom: none;
    }
}

/* Target the specific class on the home page */
body.home div.theme-page.padding-bottom-70 {
    padding-bottom: 0 !important; /* Override existing padding */
}


.page-id-3906 .howitworks p {
  max-width: 910px;
      margin-left: auto;
      margin-right: auto;
	text-align: center;
	color: #333 !important;
	padding-top: 10px;
}

.page-id-3906 .h2-howitworks {
    color: black; /* Sets text color to white */
}

.page-id-3906 .box-header:after {
    background-color: #FF5722; /* Sets the background color to #FF5722 */
}

.page-id-3906 .feature-item::before {
    color: #FFC107;
    font-size: 34px;
    text-align: center;
    width: 40px;
	border: none;
	padding: 12px 0px 0px 0px;
}

.page-id-3906 .feature-item p {
  margin-left: 10px;
}

/* Make the specialize-row container a flex container */
.page-id-3906 .specialize-row {
    display: flex;
    align-items: center; /* Vertically centers the columns */
    height: 100%; /* Ensure the row takes full height */
}

/* Make sure the right column is a flex container and center the content */
.page-id-3906 .specialize-column {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Vertically centers content in the right column */
    height: 100%; /* Ensure the column takes full height */
}


.page-id-3906 .steps-row .wpb_column {
    display: flex;
    justify-content: center; /* Centers the content horizontally */
    align-items: center; /* Centers content vertically */
    height: 100%; /* Ensures vertical centering */
}

.page-id-3906 .quote p {
  max-width: 680px;
      margin-left: auto;
      margin-right: auto;
	text-align: center;
	color: white !important;
	padding-top: 10px;
}



@media (max-width: 767px) {
body.page-id-3906 .sd-aboutus-description {
display: flex !important;
    flex-direction: column;
  }

  .page-id-3906 .sd-aboutus-description-col-1,
  .page-id-3906 .sd-aboutus-description-col-2 {
    width: 100%;
  }

  .page-id-3906 .sd-aboutus-description-col-1 {
    order: 2;
		
  }

  .page-id-3906 .sd-aboutus-description-col-2 {
    order: 1;
		margin-top: 10px !important;
		margin-bottom: 20px;
  }
}

@media (min-width: 768px) {
  body.page-id-3906 .sd-aboutus-description {
    display: flex !important;
    flex-direction: row; /* Keep in a row for desktop */
    width: 70%;  /* Adjust the width of the row on desktop */
    margin-left: auto;
    margin-right: auto; /* Center the row */
  }

  .page-id-3906 .sd-aboutus-description-col-1,
  .page-id-3906 .sd-aboutus-description-col-2 {
    width: 50%;  /* Adjust the width of each column for desktop */
  }
}




body.page-id-3906 .vc_row.wpb_row.vc_row-fluid.gray.full-width.page-header.vertical-align-table {
    display: none !important; 
}

.page-id-3906 .vc_row.gray.footer-row {
    background: #4A4A4A;
}

body.page-id-3906 .header-container {
    display: none;
}

@media (max-width: 479px) {
.page-id-3906 .vc_row .wpb_column {
  width: 100% !important;
  display: block !important;
}

.page-id-3906 .screensdirect-image,
.page-id-3906 .specialize-column {
  width: 100% !important;
  display: block !important;
  
}
	
	.page-id-3906 .screensdirect-image {
		margin-top: -20px !important;
	}

	.page-id-3906 h3 {
		font-size: 22px;
		text-align: center;
	}
	
.page-id-3906 .vc_row {
  display: block !important;
}
	
	.page-id-3906 .feature-item {
    display: flex;
    align-items: flex-start;
		padding-top: 5px;
  }

  .page-id-3906 .feature-item p {
    margin: 0; /* Removes default margin */
    text-align: left; /* Ensures text is left-aligned */
    padding-left: 5px;
padding-top: 16px;
  }
	
	.page-id-3906 .howitworks p {
    max-width: 70%; /* Adjust this value to narrow the width */
    margin-left: auto;
    margin-right: auto;
  }
	
	.page-id-3906 .h2-howitworks {
   font-size: 29px;
}
	
	.page-id-3906 .quote p {
  max-width: 70%; /* Adjust this value to narrow the width */
    margin-left: auto;
    margin-right: auto;
}
}
	
@media (max-width: 479px) {	
.page-id-3906 .wp-block-columns.is-layout-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page-id-3906 .wp-block-column {
  text-align: center;
  width: 100%;
}

.page-id-3906 #copyright {
  text-align: center;
	margin-top: 5px;
  margin-bottom: -25px;
}

.page-id-3906 .wp-block-jetpack-contact-info h2 {
  text-align: center;
    margin-bottom: -50px !important;
}
}

.centered-left-list ul {
  display: inline-block;
  text-align: left;
}

.centered-left-list {
  text-align: center;
}

.small-white-header {
  font-size: 26px;   /* adjust as needed */
  color: #ffffff;
  line-height: 1.3;
}

@media (max-width: 768px) {
  .small-white-header {
    font-size: 20px;
  }
}


.box-header.normal-case-large-header {
  text-transform: none !important;
font-size: 23px;
line-height: 28px;
	text-align: left !important;
}

@media (max-width: 768px) {
  .box-header.normal-case-large-header {
    font-size: 19px;   /* adjust as needed */
    line-height: 24px; /* keep proportions nice */
  }
}

/* Normal case + bigger (reusable) */
.box-header.normal-case-big-header{
  text-transform: none !important;
  font-size: 23px;
  line-height: 28px;
  text-align: center !important;
}

.box-header.normal-case-big-header::before,
.box-header.normal-case-big-header::after {
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

            
/* Force narrow + centered accordion (class-only) */
ul.narrow-accordion {
  width: 71% !important;
  max-width: 700px !important;   /* optional but helps on large screens */
  margin-left: auto !important;
  margin-right: auto !important;

  display: block !important;
  float: none !important;

  padding-left: 0 !important;
  list-style: none !important;
  box-sizing: border-box;
}

/* Remove bullets/checkmarks */
ul.narrow-accordion > li {
  list-style: none !important;
}

ul.narrow-accordion > li::before {
  content: none !important;
}

/* Mobile */
@media (max-width: 479px) {
  ul.narrow-accordion {
    width: 70% !important;
    max-width: 100% !important;
  }
}

/* Center block on page, keep text left-aligned */
.centered-text-block {
  max-width: 800px;          /* controls how wide the text block is */
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* Bulletproof centering for iframe inside WPBakery raw HTML */
.map-center{
  display: flex !important;
  justify-content: center !important;
  width: 100%;
}

/* Keep it from overflowing on small screens */
.map-center iframe{
  display: block;
  max-width: 100%;
}


/* Trust bar row (5 columns) */
.trust-bar {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 3px;
}

/* Remove WPBakery float grid */
.trust-bar > .wpb_column {
  float: none !important;
  width: auto !important;
}

/* Column width */
.trust-bar > .wpb_column.vc_col-sm-1\/5 {
  flex: 0 0 170px !important;  /* adjust */
  max-width: 170px !important;
}

/* Remove extra inner padding */
.trust-bar > .wpb_column > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.re-action-button.is-active {
    pointer-events: auto;
    cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.re-action-button.is-active:hover {
    color: #000000;
}

/* Center the 4 columns as a group */
.cities-serve {
  display: flex !important;
  justify-content: center !important;
}

/* Remove WPBakery float behavior */
.cities-serve > .wpb_column {
  float: none !important;
}

/* Center the button inside each column */
.cities-serve > .wpb_column > .vc_column-inner,
.cities-serve > .wpb_column > .vc_column-inner > .wpb_wrapper {
  display: flex !important;
  justify-content: center !important;
}

/* Fixed-width buttons, centered text */
.cities-serve a.estimate-button {
  width: 220px;          /* change this if you want */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (max-width: 767px) {

  /* hide WPBakery content (already working) */
  body.single-post.postid-5126 .vc_row,
  body.single-post.postid-5126 .wpb_wrapper {
    display: none !important;
  }

  /* show a message instead of blank screen */
  body.single-post.postid-5126::before {
    content: "This page is available on desktop only.";
    display: block;
    padding: 60px 20px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
  }

}

@media (max-width: 767px) {

  /* Post 5126 */
  body.single-post.postid-5126 .vc_row,
  body.single-post.postid-5126 .wpb_wrapper {
    display: none !important;
  }

  body.single-post.postid-5126::before {
    content: "This page is available on desktop only.";
    display: block;
    padding: 60px 20px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
  }

  /* Post 4903 */
  body.single-post.postid-4903 .vc_row,
  body.single-post.postid-4903 .wpb_wrapper {
    display: none !important;
  }

  body.single-post.postid-4903::before {
    content: "This page is available on desktop only.";
    display: block;
    padding: 60px 20px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
  }

}

.page-id-5341 .page-header {
  display: none !important;
}

.page-id-5488 .page-header {
  display: none !important;
}

.page-id-5504 .page-header {
  display: none !important;
}

.page-id-5653 .page-header {
  display: none !important;
}

/* Desktop/tablet: keep a readable max width */
.text-contained .wpb_wrapper{
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  box-sizing: border-box;
}

/* Mobile: use your site's proven max-width % pattern */
@media screen and (max-width: 479px){
  .text-contained .wpb_wrapper{
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}

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

  /* Stack columns */
  .cities-serve-row {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Order: image first, text second */
  .cities-serve-image {
    order: 1 !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .cities-serve-text {
    order: 2 !important;
    width: 100% !important;
  }

  /* Remove any top spacing above the image */
  .cities-serve-image .vc_column-inner,
  .cities-serve-image .wpb_wrapper,
  .cities-serve-image .wpb_single_image,
  .cities-serve-image figure.vc_figure {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Add space BELOW the image */
  .cities-serve-image .wpb_single_image {
    padding-bottom: 40px !important;
  }

  /* ===== FORCE SQUARE (apply to ALL single images inside the image column) ===== */

  /* Make the figure a square box */
  .cities-serve-image figure.vc_figure {
    width: 100% !important;
    position: relative !important;
    padding-top: 100% !important;  /* square */
    height: 0 !important;
    overflow: hidden !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Ensure wrapper doesn't break layout */
  .cities-serve-image .vc_single_image-wrapper {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
  }

  /* Force the image to fill and crop */
  .cities-serve-image figure.vc_figure img,
  .cities-serve-image figure.vc_figure .vc_single_image-img {
    position: absolute !important;
    inset: 0 !important;           /* top/right/bottom/left: 0 */
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
    display: block !important;
  }

}


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

  /* Make only the -2 images square */
  .cities-serve-row-2 .square-photo-2 .vc_single_image-wrapper,
  .cities-serve-image-2 .square-photo-2 .vc_single_image-wrapper {
    width: 100% !important;
    position: relative !important;
    padding-top: 100% !important;   /* square */
    height: 0 !important;
    overflow: hidden !important;
    display: block !important;
    max-width: none !important;
  }

  .cities-serve-row-2 .square-photo-2 img,
  .cities-serve-row-2 .square-photo-2 .vc_single_image-img,
  .cities-serve-image-2 .square-photo-2 img,
  .cities-serve-image-2 .square-photo-2 .vc_single_image-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    max-width: none !important;
  }

}

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

  .box-header.normal-case-big-header {
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }

}

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

  .centered-text-block {
    max-width: 69%;
    margin-left: auto;
    margin-right: auto;
  }

}

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

  .map-center {
    width: 83% !important;
    margin-left: auto;
    margin-right: auto;
  }

}

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

  .box-header.normal-case-big-header {
    font-size: 19px !important;
    line-height: 26px !important;
  }

}

/* ===== Cities Serve – Force 1 Column Mobile ===== */
@media (max-width: 767px) {

  /* Stack columns vertically */
  .cities-serve {
    display: block !important;
  }

  .cities-serve .wpb_column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide empty spacer columns */
  .cities-serve .wpb_column:empty {
    display: none !important;
  }

  /* Remove inner padding causing gaps */
  .cities-serve .vc_column-inner {
    padding: 0 !important;
  }

  .cities-serve .wpb_wrapper {
    margin: 0 !important;
  }

  /* Button styling */
  .cities-serve a.estimate-button {
    display: block !important;
    width: 100% !important;
    max-width: 360px;
    margin: 8px auto !important;
    text-align: center;
    font-size: 16px !important;
    padding: 16px 20px !important;
  }

}

/* ===== Trust Bar – Clean 2 / 2 / 1 Layout (Compact & Equal) ===== */
@media (max-width: 767px) {

  .trust-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    text-align: center !important;
  }

  /* All boxes equal width */
  .trust-bar .wpb_column,
  .trust-bar .vc_column_container {
    flex: 0 0 45% !important;
    max-width: 45% !important;
    margin: 0 2.5% 25px 2.5% !important; /* spacing between boxes */
    float: none !important;
    display: flex !important;
  }

  /* Inner box styling */
  .trust-bar .vc_column-inner {
    width: 100% !important;
    padding: 20px !important; /* compact height */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  /* Fix negative margin + remove fixed heights */
  .trust-bar .wpb_raw_html .wpb_wrapper > div {
    margin-top: 8px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.3 !important;
  }

  .trust-bar .vc_icon_element {
    margin-bottom: 10px !important;
  }

}

@media (max-width: 479px) {
  h2.box-header.seopage-header {
    max-width: 80% !important;
    width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
}

@media (max-width: 767px) {

  .cities-serve a.estimate-button {
    width: 100% !important;
    max-width: 320px;   /* keeps them uniform + not too wide */
    min-width: 320px;   /* forces same width */
    display: flex !important;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 8px auto !important;
    box-sizing: border-box;
  }

}