/**  RESPONSIVE STYLING AND CSS OVERRIDES   **/


/*----------------------------------------------------------------------------------------------------------------------------------------
   	1920+. RESPONSIVE CASES - SCALES DOWN ABOVE 1920
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (min-width: 1921px) {
    /** global styling **/
    /** homepage styling **/
    /** interior page styles  **/
}


/*-----------------------------------------------------------------------------------------------------------------------------------------
   	1830. RESPONSIVE CASES - SCALES DOWN BELOW 1830
------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1830px) {
    /** global styling **/
    /** homepage styling **/

#page .interior.content-area .themify_builder_content .module_row .row_inner,	
#home-hero-container .row_inner, 
#home-about-us .row_inner, 
#home-services-gallery .row_inner,
#home-project-gallery .row_inner, 
#home-committment-container .row_inner,
#home-prefooter-cta .row_inner,
#home-locations-container .row_inner { 	
		max-width: 1250px;
		width: 1250px;
		margin: 0px auto;	
	}		

	#home-hero-title-container h1 .main-head {
		font-size:72px;
		line-height:72px;
	}

	#home-hero-title-container h1 .sub-head {
		font-size:24px;	
		line-height:28px;
		margin:0;
	}
	
	#main .home-hero-title-links a {
		font-size:18px;
	}
	
	#home-about-us .module_column h2 .main-head, 
	#home-project-gallery .module_column h2 .main-head, 
	#home-committment-container .module_column h2 .main-head, 
	#home-locations-container .module_column h2 .main-head, 
	#home-prefooter-cta .module_column h2 .main-head {
	    font-size: 36px;
	    line-height: 40px;	
	}
	
    /** interior page styles  **/
	
	#page .interior.content-area .page-header-title {
		max-width: 1250px;
		width: 1250px;		
	}
}


/*-----------------------------------------------------------------------------------------------------------------------------------------
   1650. RESPONSIVE CASES - SCALES SITE DOWN BELOW 1650px
-----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1650px) {
    /** global styling **/
    /** homepage styling **/

	#sitetools-container ul li a span {
		color:#ffd658;
	}
	
	#masthead #site-navigation .menu-primary-container ul li {
		padding:0 30px;
	}
	
	#masthead #site-navigation.main-navigation .menu-primary-container ul li a {
		font-size:14px;
	}
	
	.n2-section-smartslider {

	}
	
	#home-project-gallery .home-team-success,
	#home-about-us #home-about-slider {
		width: 500px;
        height: 500px;
	}

	.home-about-slider-container,
	#home-project-gallery .row_inner .module_column .module_subrow .module_column.last {	
	justify-content: center;
    display: flex;	
	}
	
	#home-project-gallery .row_inner .module_column .module_subrow,
	#home-about-us .row_inner .module_column .module_subrow {
		background-size: contain;
	}
	
	#home-project-gallery {
	    padding: 0 0 40px 0;	
	}
	
	#home-about-us .module_column h2 .main-head, #home-project-gallery .module_column h2 .main-head, #home-committment-container .module_column h2 .main-head, #home-locations-container .module_column h2 .main-head, #home-prefooter-cta .module_column h2 .main-head {
        font-size: 32px;
        line-height: 36px;
    }
	
	.home-committment-item .tb_text_wrap p {
	    font-size: 16px;
	    line-height: 24px;	
	}
	
	.home-committment-item {
		background-size: 60px auto;	
		padding: 20px 0 20px 80px;
	}
	
	#home-committment-container {
		padding:0 0 60px 0;
	}
	
	
	#body-content-primary .row_inner .module_column .module_subrow .module_column, 
	#body-content-alt .row_inner .module_column .module_subrow .module_column, 
	#home-about-us .row_inner .module_column .module_subrow .module_column, 
	#home-project-gallery .row_inner .module_column .module_subrow .module_column, 
	#home-committment-box .row_inner .module_column .module_subrow .module_column, 
	#home-locations-container .row_inner .module_column .module_subrow .module_column {
    align-items: center;
    align-content: center;
    margin: 20px 0;
	}
	
	#colophon .footer-branding img {
		width:200px;
	}
	
 /** interior page styles  **/

/* H1 */
	
	#page-header .page-header-title {
		font-size:48px;
	}
	
/* H2 */

	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h2 .main-head {
		font-size: 36px;
		line-height: 36px;
		}
	
	#page .interior.content-area .site-main article .entry-content .themify_builder_content h2 .sub-head,
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h2 .sub-head {
		font-size: 24px;
		line-height:30px;
	}

/* H3 */
	.page-template-default #page #main .content-page-header-blockquote .module-title,
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h3 {}
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content .module-text .module-title,
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h3 .main-head {
		font-size: 30px;
		line-height: 30px;
		}
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h3 .sub-head {
		font-size: 20px;		
	}

/* H4 */

	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h4,
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h4 .main-head {
		font-size: 24px;
	    line-height: 24px;			
		}
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h4 .sub-head {	
		font-size: 18px;
	}

/* H5 */

	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h5,
	.page-template-default #page .interior.content-area .site-main article .entry-content .themify_builder_content h5 .main-head {
		font-size: 20px;
	    line-height: 20px;		
		}	

	#primary #page-header .page-header-title {
		margin: 0 auto 40px auto;
	}
	
	#primary #main .content-page-header-blockquote {
		/*top:-190px;*/
	}
	
	#main .entry-content {
		margin:0;
	}
	
	#primary #main .content-page-header-blockquote {
		margin:0;
	}
	
	
	#page .body-content-primary, #page .body-content-alt {
		padding:0;
	}
	
	#home-year-callout {
	background-size: 170%;	
	padding: 75px 10px 75px 25px;	
	width: 190px;	
	}
	
	#home-year-callout p {
		font-size: 16px;
    	line-height: 20px;	
	}
	
    /** modal styles  **/
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	1440. RESPONSIVE CASES - SCALES SITE DOWN BELOW 1440px
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1440px) {
    /** global styling **/
    /** homepage styling **/
	
	#page .interior.content-area .themify_builder_content .module_row .row_inner,	
	#home-hero-container .row_inner, 
	#home-about-us .row_inner, 
	#home-services-gallery .row_inner,
	#home-project-gallery .row_inner, 
	#home-committment-container .row_inner,
	#home-prefooter-cta .row_inner,
	#home-locations-container .row_inner  {
			max-width: 1100px;
			width: 1100px;
			margin: 20px auto;	
		}

	#page .interior.content-area .page-header-title {
		max-width: 1100px;
		width: 1100px;		
	}	
	
	#home-hero-slider,
	#primary #slideshow,
	#home-hero-container {
		height:700px;
	}
	
	#home-hero-container::before {
		height:700px;
	}

	#home-about-us {
		padding:60px 0 0 0;	
	}
	
	#home-project-gallery .home-team-success, #home-about-us #home-about-slider {
		width: 400px;
        height: 400px;	
	}	
	
	#main .home-hero-title-links a {
        font-size: 16px;
    }
	
	#main #home-locations-container .row_inner  {
		margin:60px auto 40px auto;
	}
	
	
	
    /** interior page styles  **/
	
	.body-content-primary .row_inner .module_column .module_subrow .module_column, .body-content-alt .row_inner .module_column .module_subrow .module_column, 
	#home-about-us .row_inner .module_column .module_subrow .module_column, 
	#home-project-gallery .row_inner .module_column .module_subrow .module_column, 
	#home-committment-box .row_inner .module_column .module_subrow .module_column, 
	#home-locations-container .row_inner .module_column .module_subrow .module_column {
		margin:0;
	}
	
	#page .interior.content-area .site-main article .entry-content .themify_builder_content ul li {
		padding: 0 0 16px 30px;	
		font-size:16px;
	}
	
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	1260. RESPONSIVE CASES - SCALES SITE BELOW 1260px
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1260px) {
    /** global styling **/
	
	#sitetools-container ul li.quote-form a {
		margin:0 0 0 75px;
	}
	#sitetools-container ul li:first-child {
		padding: 0 10px 0 85px;	
	}
	
	#main .home-hero-title-links a {
		font-size:16px;
	}
	
	#home-hero-title-container h1 .main-head {
		font-size: 68px;
        line-height: 62px;	
	}
	#home-hero-title-container h1 .sub-head {
		font-size: 22px;
        line-height: 26px;		
	}
	
	#main #home-locations-container .module_column h2 .sub-head,
	#main #home-locations-container .home-location-box .tb_text_wrap p {
		font-size:16px;
		line-height:22px;
	}
	
	#main #home-locations-container .home-location-box .module-title {
		font-size:24px;
	}
	
	
    /** homepage styling **/
    /** interior page styles  **/
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	1182. RESPONSIVE CASES - SCALES SITE BELOW 1180
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1179px) {
    /** global styling **/
    /** homepage styling **/

#page .interior.content-area .themify_builder_content .module_row .row_inner,	
#home-hero-container .row_inner, 
#home-about-us .row_inner, 
#home-services-gallery .row_inner,
#home-project-gallery .row_inner, 
#home-committment-container .row_inner,
#home-prefooter-cta .row_inner,
#home-locations-container .row_inner {
		max-width: 950px;
		width: 950px;
		margin: 0 auto;	
	}	
	

	#page .interior.content-area .page-header-title {
		max-width: 950px;
		width: 950px;		
	}	
	
	#home-hero-title-container h1 .main-head {
		font-size: 60px;
        line-height: 56px;
	}
	
	#home-hero-title-container h1 .sub-head {
		font-size: 19px;
        line-height: 22px;		
	}
	
	#main .home-hero-title-links a {
        font-size: 14px;
    }
	
	#masthead.site-header {
		height:100px;
	}
	
	
	#masthead.site-header.scroll .site-branding,
	#masthead.site-header .site-branding {
		width:350px;
		background-position: center bottom 50px;
	}	
	
	#masthead.site-header.scroll .site-branding a img,
	#masthead.site-header .site-branding a img {
	    width: 120px;
		padding: 15px 0 0 0;
	}
	
	#masthead #site-navigation .menu-primary-container ul {
		margin:0;
	}
	
	#masthead #site-navigation .menu-primary-container ul li {
		padding: 0 16px;
    }	

	#masthead #site-navigation.main-navigation.scroll .menu-primary-container ul li a,
	#masthead #site-navigation.main-navigation .menu-primary-container ul li a {
        font-size: 13px;
		padding: 0 0 20px 0;
    }
	
	.home-services-box .module_subrow .module_column.last .module-text .tb_text_wrap p.links {
		font-size:14px;
	}
	
	.home-committment-item {
		padding: 20px 0 20px 70px;	
	}
	
	
    .home-committment-item .tb_text_wrap p {
        font-size: 15px;
        line-height: 20px;
    }
	
	#home-project-gallery .home-team-success, 
	#home-about-us #home-about-slider {
		width:350px;
		height:350px;
	}
	
	p {
		font-size: 14px;
		line-height: 20px;		
	}
	
	#home-about-us .module_column h2 .main-head, 
	#home-project-gallery .module_column h2 .main-head, 
	#home-committment-container .module_column h2 .main-head, 
	#home-locations-container .module_column h2 .main-head, 
	#home-prefooter-cta .module_column h2 .main-head {
        font-size: 30px;
        line-height: 32px;
    }
	
    /** interior page styles  **/
	
	.page-template-default #page .interior.content-area .site-main article .entry-content .module-accordion ul {
		padding:0;
	}
	
	
	/* popup window */
	
	#modal-window-1 .modal-window__content {
	--mw-height: 75%;
	--mw-inset-right: 15%;
	--mw-inset-left: 15%;
	}
	
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	1000. RESPONSIVE CASES - SCALES SITE BELOW 1000
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1000px) {
    /** global styling **/
    /** homepage styling **/

#page .interior.content-area .themify_builder_content .module_row .row_inner,
#home-hero-container .row_inner, 
#home-about-us .row_inner, 
#home-services-gallery .row_inner,
#home-project-gallery .row_inner, 
#home-committment-container .row_inner,
#home-prefooter-cta .row_inner,
#home-locations-container .row_inner {
		max-width: 720px;
		width: 720px;
		margin: 0 auto;	
	}	

	#page .interior.content-area .page-header-title {
		max-width: 720px;
		width: 720px;		
	}	
	
/** interior page styles  **/
	
	#main .content-page-intro {
		display:flex;
		flex-direction:column-reverse;
    	justify-content: center;
    	align-items: stretch;
		padding: 30px 0 0 0;
	}
	
	#main .content-page-intro .module_column {
		position: relative;
		/*flex-basis: 100%;*/
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0;				
	}
	#primary #main .content-page-header-blockquote {
		position:relative;
		top:0;
		margin: 0 0 30px 0;
	}
	
	#primary #main .content-page-intro .module_column.first,
	#primary #main .content-page-intro .module_column.last {
		margin:0;
	}
	
	#page .interior.content-area {}
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: stretch;
	} 
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column {
		position: relative;
		flex-basis: 50%;
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0 !important;
		margin-right:0 !important;
	}
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column:first-child,
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column:nth-child(3) {
		padding-right: 20px;
		
	}
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column:last-child,
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column:nth-child(2) {
		padding-left: 20px;
	}	

	#page #sitetools-container {
		justify-content:center;
		width:100%;
		background:#252160;
	}
	
	#page #sitetools-container ul {
	
	}
	
	#page #sitetools-container ul li { 
		background:#252160;
		padding:0 12px;
	}
	
	#sitetools-container ul li.quote-form {
		display:none;
		
	}
	
	#home-hero-container::before,
	#home-hero-container,
	#home-hero-slider, 
	#primary #slideshow {
        height: 625px;
    }
	
	#home-hero-container::after,
	#home-locations-container::before {
		display:none;
	}
	
	#home-hero-title-container h1 .main-head {
        font-size: 54px;
        line-height: 50px;
    }
	
	#main .home-hero-title-links a {
        font-size: 16px;
		text-shadow: #000 2px 2px 10px;
    }
	
	
	/* mobile menu */
	
	
	#page .mobmenu {
	    background-color: rgba(54, 84, 143, 0.95);	
		height:80px;
		width:100%;
		max-width:100%;
		right:initial;
		top: 40px;
	}
	
	#page .mobmenu .mob-menu-logo-holder {
		width:fit-content;	
		margin-left:10px;
		height:80px;
	}	

	#page .mobmenu .mob-menu-logo-holder a {
		height:80px;
		display:block;	
	}
	
	#page .mobmenu .mob-menu-logo-holder a img {
		height:inherit !important;
		width:fit-content;
	}	

#home-request-a-quote {
	position:absolute;
	bottom:0px;
	display:initial;
}
	
	#home-request-a-quote a {
		background:#911f1f;
		color:#fff;
		font-family: Raleway, serif;
		font-weight: 700;
		font-style: normal;
		color: rgb(255, 255, 255);
		margin: 0px;
		font-size:14px;
		text-shadow: #000 2px 2px 10px;
		padding:10px 18px;
		text-decoration:none;
	}
	
	#home-request-a-quote a:hover {
		
	}
	
}

/*----------------------------------------------------------------------------------------------------------------------------------------
   	M-820. RESPONSIVE CASES - SCALES SITE BELOW 820
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 820px) {
    /** global styling **/
	
	#colophon .footer-branding ul {
		flex-direction: column;	
	}
	
    /** homepage styling **/

#page .interior.content-area .themify_builder_content .module_row .row_inner,	
#home-hero-container .row_inner, 
#home-about-us .row_inner, 
#home-services-gallery .row_inner,
#home-project-gallery .row_inner, 
#home-committment-container .row_inner,
#home-prefooter-cta .row_inner,
#home-locations-container .row_inner {
		max-width: 80%;
		width: 80%;
		margin: 0 auto;	
	}
	
	#page .interior.content-area .page-header-title {
		max-width: 80%;
		width: 80%;		
	}		
	
	#home-about-us .row_inner .module_column .module_subrow {
		display:flex;
		flex-direction: column-reverse;
		justify-content:center;
		align-items:center;		
	}	
	
	#home-project-gallery .row_inner .module_column .module_subrow {
		display:flex;
		flex-direction: column;
		justify-content:center;
		align-items:center;		
	}		
	
	#home-about-us .module_column h2 .main-head, 
	#home-project-gallery .module_column h2 .main-head, 
	#home-committment-container .module_column h2 .main-head, 
	#home-locations-container .module_column h2 .main-head, 
	#home-prefooter-cta .module_column h2 .main-head,	
	#home-hero-title-container h1 .main-head,
	#home-hero-title-container h1 .sub-head,
	#main .home-hero-title-links p,
	.homepage.content-area .module-buttons {
		text-align:center;
	}	
	
	#main .home-hero-intro-box-right {
		display:none;
	}
	
	.homepage.content-area .module-buttons .module-buttons-item {
		margin: 20px 0 40px 0;	
	}
	
	#main #home-about-us #home-about-slider,
	#main .home-team-success,
	#main .home-about-slider-container {
		width: 525px;
		height:525px;
	}
	#main .home-team-success .image-wrap {
		margin:0
	}

	#home-services-gallery {
		border:1px solid red;
		display:none;
	}	
	
	#home-services-gallery .home-services-box .module_subrow  {
		border:1px solid green;
	}	
	
	#home-services-gallery .home-services-box .module_subrow .module_column {
		border:1px solid blue;
	}
	
	#main #home-project-gallery {
		padding:40px 0;
	}
	
	#home-contact-container #wpforms-form-160 .wpforms-field-container {
    margin: 0;
	}
	
	#home-contact-container #wpforms-form-160 .wpforms-submit-container {
		margin: 20px auto 20px auto;
        justify-content: center;
        text-align: center;
        position: relative;
        display: flex
;
	}
	
  /** interior page styles  **/	
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_2,
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_3 {
		display: flex;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		justify-content: center;
		align-items: stretch;
	} 
	
	
	.page-template-default #page .interior.content-area .site-main article .entry-content .module_column > .module_subrow.tb_col_count_3 .module_column.last,
	.page-template-default #page .interior.content-area .site-main article .entry-content .module_column > .module_subrow.tb_col_count_3 .module_column:nth-child(2),
	.page-template-default #page .interior.content-area .site-main article .entry-content .module_column > .module_subrow.tb_col_count_2 .module_column.last {
		margin-left:0;
	}
	
	.interior.content-area #main .themify_builder_content .module_row .row_inner .module_column .module_subrow.tb_col_count_4 .module_column {
		flex-basis:100%;
		padding-left:0 !important;
		padding-right:0 !important;
	}
	
	.page-template-default #page .interior.content-area .site-main article .entry-content .module_column > .module_subrow.tb_col_count_2 .module_column.first {
		margin-right:0;
	}

	#page .interior.content-area #page-header .page-header-title {
		font-size:40px;
		line-height:40px;
	}
	
	
	#primary #main .entry-header .entry-title {
		font-size:36px;
		margin:60px auto 0 auto;
		line-height: 34px;
	}
	
	#main .content-page-intro .module_column {
		flex-shrink: initial;	
	}
	
.data-table-container {
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    padding: 10% 0 0 0;
    background: rgba(0,0,0,0.05);
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    background: url('/wp-content/uploads/2025/07/table-header-swipe-btn.png') no-repeat top left;
    background-size: contain;
}

	#home-year-callout-container {
		top: 45%;	
	}	 
	
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	M-768. RESPONSIVE CASES - SCALES SITE BELOW 768
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
    /** global styling **/
    /** homepage styling **/
    /** interior page styles  **/
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	M-600 RESPONSIVE CASES - SCALES SITE BELOW 600
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 600px) {
    /** global styling **/
	
	.home.page-template-default #page #sitetools-container ul li {
		padding:0 8px;
	}
	
	#sitetools-container ul li a {
		font-size:12px;
	}
	
	/* back to top */
	
	.progress-wrap.btn-right-side {
		right:25px !important;	
	}
	
	.progress-wrap {
		bottom:20px !important;
	}
	
	
    /** homepage styling **/
	
    #home-about-us {
        padding: 30px 0 0 0;
    }	
	
	#home-hero-container::before, 
	#home-hero-container, #home-hero-slider, 
	#primary #slideshow {
		height:575px;
	}
	
	#home-hero-title-container {
		padding:15% 0 0 0;
	}
	
	
	#main #home-about-us #home-about-slider,
	#main .home-team-success,
	#main .home-about-slider-container {
		width: 280px;
		height:280px;
	}	
	
	
	#page .homepage.content-area p {
		text-align:center;
	}

	#home-prefooter-cta .module_column h2 .main-head {
        font-size: 22px;
        line-height: 28px;
    }	
	
	#main #home-locations-container .row_inner {
		margin:40px auto;	
	}
	
	#main #home-locations-container .row_inner {
		
	}
	
	#home-year-callout-container {
		display:none;
	}
	
	
    /** interior page styles  **/
	
	#wpforms-form-160 .wpforms-field-container .wpforms-field {
		width:100%;
		max-width:100%;
		margin:0;
	}
	
	
}


/*----------------------------------------------------------------------------------------------------------------------------------------
   	M-425 RESPONSIVE CASES - SCALES SITE BELOW 425
----------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 425px) {
    /** global styling **/
    /** homepage styling **/
    /** interior page styles  **/
}