/*
Custom CSS for website theme
Version: 1.0
Description: Used to establish the look and feel for the custom website
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency
*/

/* VARIABLES */
:root {
    /* Brand Color Palette */
    --Brand-Red: #A2252A;
    --Brand-Red-LT: #C13E43;
    --Brand-Tan: #F5E9E2;
    /* Default Colors */
    --Default-Black: #282828;
    --Default-White: #FBFEF9;
    /* Typography */
    --Heading-1-Size: clamp(3rem, round(1.482rem + 4.857cqi, 0.5em), 6rem);
    --Heading-2-Size: clamp(2.25rem, round(1.696rem + 2.571cqi, 0.5em), 3rem);
    --Heading-3-Size: clamp(1.25rem, round(1.071rem + 0.571cqi, 0.5em), 1.5rem);
    --Heading-4-Size: clamp(1.5rem, round(1.321rem + 0.571cqi, 0.5em), 1.75rem);
    --Heading-5-Size: clamp(1.25rem, round(1.071rem + 0.571cqi, 0.5em), 1.5rem);
    --Heading-6-Size: clamp(1.125rem, round(1.036rem + 0.286cqi, 0.5em), 1.25rem);
    --Body-Size: clamp(0.9375rem, 0.75rem + 0.5vw, 1.125rem);
    --Font-Heading-Sans: 'Sofia Sans Condensed', Helvetica, Arial, Lucida, sans-serif;
    --Font-Body: 'Sofia Sans', Helvetica, Arial, Lucida, sans-serif;
	--h4-Font: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
    --Line-Height-xs: 1;
    --Line-Height-s: 1.05;
    --Line-Height-m: 1.2;
    --Line-Height-l: 1.5;
    --Line-Height-xl: 2;
    --Font-Weight-Light: 300;
    --Font-Weight-Regular: 400;
    --Font-Weight-Bold: 700;
    --Font-Weight-Extra-Bold: 900;
}



#et-boc .small-h1 h1 {
    font-size: clamp(2.6rem, round(1.3rem + 4.2cqi, 0.5em), 5.4rem);
}

:focus-visible {
    /* A 2px dark outer ring */
    outline: 2px solid #109cde;

    /* A 2px light inner ring (using box-shadow) */
    box-shadow: 0 0 0 2px #FFFFFF;

    /* Ensures the outline is on top of other elements */
    position: relative;
    z-index: 1;
}

/*  
    Button Styles
*/

/* GLOBAL BUTTON STYLES */
/*Default Button Settings*/
#page-container .et_pb_button {
    border-radius: 2px !important;
    color: var(--Default-Black);
    background-color: var(--Brand-Red);
    text-align: center;
    font-style: normal;
    font-weight: var(--Font-Weight-Regular);
    line-height: normal !important;
    letter-spacing: .32px;
    transition: ease all .3s !important;
    border: none !important;
}

#page-container .et_pb_button:hover {
    transition: ease all .3s !important;
    border: none !important;
    color: var(--Default-White) !important;
}

/*
    BUTTON TEXT IS LIGHT - PRIMARY 
.et_pb_button.fsm-btn-primary 
*/
/*INCLUDES Hero Button ONE*/

#page-container .et_pb_button.fsm-btn-primary,
#page-container .et_pb_button.et_pb_button_one,
input#gform_submit_button_1,
input#gform_submit_button_6 {
    border-radius: 0.75rem !important;
    background: var(--Brand-Red);
    color: var(--Default-White) !important;
    font-family: var(--Font-Heading-Sans);
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 700 !important;
    padding: 0.75rem 1.25rem !important;
    border: none;
}

#page-container .et_pb_button.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_button_one:hover,
input#gform_submit_button_1:hover,
input#gform_submit_button_6:hover {
    background: var(--Brand-Red-LT);

}

#page-container .et_pb_button.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_button_one:focus {
    box-shadow: 0px 0px 15px 0px var(--Brand-Tan);
}




/* alt button text light */

#page-container .et_pb_button.alt {
    background: var(--Default-White);
    color: var(--Default-Black);
    border-radius: 0.75rem !important;
    font-family: var(--Font-Heading-Sans);
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 700 !important;
    padding: 0.75rem 1.25rem !important;
}

#page-container .et_pb_button.alt:hover {
    color: var(--Default-Black) !important;
    background-color: var(--Brand-Tan) !Important;
}

#page-container .et_pb_button.alt:focus {

    /*        box-shadow: 0px 0px 15px 0px ###; */
}


/* alt button dark .fsm-btn-alt 
This Button style has a pseudo arrow on Hover*/
#page-container .et_pb_button:after {
    content: '\f054';
    position: absolute;
    font-size: 1em;
    font-weight: var(--Font-Weight-Bold);
    display: block;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%);
    right: 10%;
    transition: opacity .5s, right .5s;
    color: var(--Default-White) !important;
    font-family: 'Font Awesome 6 Pro' !important;
}

#page-container .et_pb_button.alt:after {
    color: var(--Default-Black) !Important;
}

/* #page-container .et_pb_button.fsm-btn-alt:hover {
    color: var(--Default-Black) !important;
    opacity: 70%;
} */

#page-container .et_pb_button:hover {
    padding-right: 2.2em !important;
}

#page-container .et_pb_button:hover:after {
    opacity: 1;
}

#page-container .et_pb_button.fsm-btn-alt.small:hover {
    padding: .7em 1.3em !important;
    padding-left: .5em !important;
    padding-right: 1.5em !important;
}

/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large {
    padding: 1em 2em !important;
    font-size: var(--Body-Size);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small {
    padding: .7em 1.3em !important;
    font-size: 14px;
}

/*
universal text links
*/
#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style) {
    border-radius: 4px;
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline;
}

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card):hover {
    border-radius: 3px;
    background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
    text-decoration: none;

}

/* 
    Font Sizing
*/

body.et_divi_theme h1 {
    font-size: var(--Heading-1-Size);
    font-family: var(--Font-Heading-Sans);
    color: var(--Default-White);
    font-size: var(--Heading-1-Size);
    font-weight: 800;
    line-height: 105%;
}

body.et_divi_theme h2 {
    font-size: var(--Heading-2-Size);
    font-family: var(--Font-Heading-Sans);
    font-weight: 700;
}

body.et_divi_theme h3 {
    font-family: var(--Font-Heading-Sans);
    font-size: var(--Heading-3-Size);
    font-weight: 700;
}

body.et_divi_theme h4 {
    font-size: var(--Heading-4-Size);
    font-family: var(--h4-Font);
}

body.et_divi_theme h5 {
    font-size: var(--Heading-5-Size);
    font-family: var(--Font-Heading-Sans);
}

body.et_divi_theme h6 {
    font-size: var(--Heading-6-Size);
    font-family: var(--Font-Heading-Sans);
}

body,
body p,
body li {
    font-size: var(--Body-Size);
    font-family: var(--Font-Body);
}

body small {
    font-size: clamp(.5rem, 1.25cqi, .8rem);
}

/*CUSTOM FONT STYLES*/


/*END FONT STYLE*/

/*
MENU STYLES
*/
#logo {
    max-height: 200% !important;
    position: absolute;
    top: -20px;
    z-index: 9;
}

.et_pb_svg_logo #logo {
    height: 200% !Important;
}

@media only screen and (max-width:980px) {
    #logo {
        max-height: 100% !important;
        top: 0;
    }

    #page-container #main-header {
        top: 0px !important;
    }
}

/*IF MENU HAS last-child CTA BUTTON 
- Style LI element as button*/

#top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link {
    background-color: var(--Brand-Red) !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    line-height: 20px !important;
    border-radius: 0.75rem ! Important;
    color: var(--Default-White) !important;
    font-family: var(--Font-Heading-Sans) !important;
    font-size: 1.125rem !important;
    font-style: normal;
    font-weight: 700 !important;
    display: inline-block !important;
}

@media only screen and (max-width:980px) {
    #top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link {
        max-height: 2.5rem !important;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
        background: var(--Brand-Red);
        font-size: 12px ! Important;
    }

    li#mega-menu-item-943 {
        padding-top: 20px !important;
    }

    li#mega-menu-item-1408 {
        min-width: 80vw !important;
    }

}

.mega-sub-menu {
    border-top: 4px solid var(--Default-White) !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu {
    background: var(--Brand-Red);
    width: max-content !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu .mega-menu-item {
    width: max-content !important;
}

a.mega-menu-link {
    white-space: nowrap !important;
}



#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    background: var(--Brand-Red);
    font-size: 16px !Important;
}


#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
    background: var(--Brand-Red);
    text-decoration: underline;
    color: var(--Default-White) !important;
}

#top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link:hover {
    background: var(--Brand-Red-LT) !important;
    padding-right: 2.2em !important;
}

#top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link:focus {
    box-shadow: 0px 0px 15px 0px var(--Brand-Tan);
}

#top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link {
    position: relative;
}

#top-menu-nav ul#mega-menu-primary-menu li.cta a.mega-menu-link:after {
    content: '\f054';
    position: absolute;
    font-size: 1em;
    font-weight: var(--Font-Weight-Bold);
    display: block;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%);
    right: 10%;
    transition: opacity .5s, right .5s;
    color: var(--Default-White) !important;
    font-family: 'Font Awesome 6 Pro' !important;
}

ul#mega-menu-primary-menu li#mega-menu-item-943>a.mega-menu-link:hover:after {
    opacity: 1;
}

div#main-header .flex {
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
}

/* #et-boc #main-header {
	top: 40px;
} */

header#main-header {
    min-height: 120px;
    padding-top: 30px;
}

@media screen and (max-width: 980px) {
    header#main-header {
        min-height: 100px;
        padding-top: 30px;
    }
}

body:not(.page-id-916):not(.page-id-71) header#main-header {
    background: var(--Default-Black);
}

div#main-header #menu {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}

/*Hover Styles*/

.mega-menu li a {
    color: var(--Default-White) !important;
    transition: ease all 0.3s !important;
    font-size: 1.25rem !Important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem;
}

.mega-menu li a:hover {
    opacity: 1 !important;
}

/*Active Styles*/

.mega-current-menu-item a.mega-menu-link {
    text-decoration: underline 2px inherit !important;
    text-underline-offset: unset !important;
}

/* MOBILE STYLES */
@media only screen and (max-width:980px) {
    .mega-menu li a {
        color: var(--Default-White) !important;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle {
        background: transparent;
    }

    div#mega-toggle-block-0 {
        background: var(--Brand-Red) !important;
        border: 2px solid var(--Brand-Red);
        border-radius: 5px;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
        background-color: var(--Default-White);
    }
}

.mega-menu-item a.mega-menu-link:hover {
    color: var(--Brand-Red-LT) !important;
    text-decoration: underline !important;
}

/*END MENU*/

/* GLOBAL FORM STYLES */
.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
    font-weight: var(--Font-Weight-Bold) !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    padding: 1em 1em 1em 3em !important;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    font-size: 14px !important;
    border-radius: 5px !important;
    padding: .5em .5em .5em 40px !important;
}

.gform_wrapper.gravity-theme .validation_message {
    position: relative;
}

.gform_wrapper.gravity-theme .validation_message::before {
    position: absolute;
    font-family: 'Font Awesome 6 Pro';
    font-weight: var(--Font-Weight-Extra-Bold);
    color: var(--Brand-Red);
    font-size: 20px;
    content: '\f057';
    margin-left: -28px;
}

/* CUSTOM FORM STYLES */
/* END FORM STYLES */

/*START PAGE ORGANIZATION*/
/*
HOMEPAGE
*/
/*HERO Styles*/


.et_pb_fullwidth_header .et_pb_fullwidth_header_container.left .header-content h1 {
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container.left .header-content {
    max-width: 1200px !Important;
    width: 100%;
}


.et_pb_fullscreen .et_pb_fullwidth_header_container {
    max-width: 1200px !Important;
}

.services-blurb {
    margin-bottom: 0px !important;
    border-radius: 0.5rem;
}

@media only screen and (min-width:981px) {

    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.about-header.et_pb_text_align_left.et_pb_bg_layout_light.et_pb_fullscreen.et_multi_view_swapped.et_multi_view__hover_selector {
        padding-top: 30px !important;
    }

    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.home-header.et_pb_text_align_left.et_pb_bg_layout_dark.et_pb_fullscreen {
        padding-top: 140px !IMPORTANT;
    }

    body.et_pb_pagebuilder_layout #page-container div#home-hero .et_pb_fullwidth_header {
        min-height: 670px !Important;
    }

    .home-header h1,
    .industries-header h1,
    .services-header h1,
    .process-header h1,
    .about-header h1 {
        max-width: 23ch;
    }

    .zoning-header h1 {
        max-width: 22ch;
    }

    .home-header .et_pb_header_content_wrapper {
        max-width: 75ch;
    }

    .industries-header .et_pb_header_content_wrapper {
        max-width: 53ch;
    }

    .zoning-header .et_pb_header_content_wrapper {
        max-width: 73ch;
        margin: 0 auto;
    }
	
	.two-column-flex.align-end .et_pb_column_0 {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	.two-column-flex .et_pb_column_0 h2{
   		max-width: 15ch;
	}
	
	.two-column-flex .et_pb_column_0 p {
    	max-width: 50ch;
	}
	
	#main-content .two-column-flex h4 {
		font-size: 1.25rem;
	}
	
	#main-content .two-column-flex.align-end .et_pb_column_1 .et_pb_text_inner div h4,
	#main-content .two-column-flex.align-end .et_pb_column_1 .et_pb_text_inner div p {
		display: inline;
		margin: 0;
		padding: 0;
		line-height: inherit;
	}

	#main-content .two-column-flex.align-end .et_pb_column_1 .et_pb_text_inner div {
		display: block;
		padding-bottom: 1rem;
	}
	
	.middle-cta .et_pb_column,
	.middle-cta .et_pb_column .et_pb_module .et_pb_text_inner{
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
	

    body.et_pb_pagebuilder_layout #page-container #et-main-area #main-content div#services-hero .et_pb_fullwidth_header,
    body.et_pb_pagebuilder_layout #page-container #et-main-area #main-content div#zoning-hero .et_pb_fullwidth_header,
    body.et_pb_pagebuilder_layout #page-container #et-main-area #main-content div#process-hero .et_pb_fullwidth_header {
        min-height: 67vh !Important;
		padding-top: 0px ! IMPORTANT;
		
    }
	
	
	body.et_pb_pagebuilder_layout #page-container #et-main-area #main-content div#industries-hero .et_pb_fullwidth_header {
		min-height: 70vh !important;
        padding-top: 6rem !important;
	}
	
	body.et_pb_pagebuilder_layout #page-container div#industries-hero .et_pb_fullwidth_header .header-content-container.center,
    body.et_pb_pagebuilder_layout #page-container div#services-hero .et_pb_fullwidth_header .header-content-container.center,
    body.et_pb_pagebuilder_layout #page-container div#zoning-hero .et_pb_fullwidth_header .header-content-container.center,
    body.et_pb_pagebuilder_layout #page-container div#process-hero .et_pb_fullwidth_header .header-content-container.center {
		min-height: 100%;
		padding-top: 3rem;
        padding-bottom: 3rem;
	}
	
	body.et_pb_pagebuilder_layout #page-container div#zoning-hero .et_pb_fullwidth_header .header-content{
		display: flex;
		flex-direction: column;
		gap: 2rem;
		align-items: center;
	}
	
	body.et_pb_pagebuilder_layout #page-container div#about-hero .et_pb_fullwidth_header {
        min-height: 730px !Important;
    }

    /* body.et_pb_pagebuilder_layout #page-container div#home-hero .et_pb_fullwidth_header {
        padding-top: 120px;
     } */

    .et_pb_fullscreen .et_pb_fullwidth_header_container {
        min-height: 600px !important;
    }

    #main-content .services-blurb h3,
    #main-content .process-blurb h3,
    #main-content .about-blurb h3 {
        max-width: 22ch;
    }

    .services-blurb,
    .process-blurb,
    .about-blurb {
        min-height: 386px;
    }

    .nation-services-row h2 {
        max-width: 15ch;
    }


    .nation-services-row .et_pb_column_0,
    .nation-process-row .et_pb_column_0,
    .nation-about-row .et_pb_column_0 {
        display: grid;
        /* Define 3 equal-width columns */
        grid-template-columns: repeat(3, 1fr);

        /* 💥 UPDATED: Block 1 is specified in the first column of BOTH rows */
        grid-template-areas:
            "block1 block2 block3"
            "block1 block4 block5";

        /* Add a gap between the grid items */
        gap: 1.25rem;
        /* Adjust as needed */

        /* Ensure Block 1, which spans rows, fills the vertical space */
        align-items: stretch;
        /* Change from 'start' to 'stretch' for spanning content */
        justify-items: stretch;
        justify-content: center;
    }

    /* 3. Assign specific grid-area names to your five blocks */
    /* Block 1 (Nationwide Commercial Property Services Text) */
    .nation-services-row .et_pb_text_0,
    .nation-process-row .et_pb_text_0 {
        grid-area: block1;
    }

    /* Block 2 (ALTA/NSPS Land Title Survey Coordination) */
    .nation-services-row .et_pb_blurb_0,
    .nation-process-row .et_pb_blurb_0 {
        grid-area: block2;
    }

    /* Block 3 (Zoning Compliance) */
    .nation-services-row .et_pb_blurb_1,
    .nation-process-row .et_pb_blurb_1 {
        grid-area: block3;
    }

    /* Block 4 (Environmental Assessments) */
    .nation-services-row .et_pb_blurb_2,
    .nation-process-row .et_pb_blurb_2 {
        grid-area: block4;
    }

    /* Block 5 (Property Condition Assessments) */
    .nation-services-row .et_pb_blurb_3,
    .nation-process-row .et_pb_blurb_3 {
        grid-area: block5;
    }


    .global-cta {
        padding-top: 7.69rem !important;
        padding-bottom: 8.68rem !important;
    }

    .services-header p,
    .process-header p,
    .process-header p {
        max-width: 56ch;
    }

    .services-header,
    .process-header,
    .about-header {
        position: relative;
    }

    .services-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url('/wp-content/uploads/2025/10/services-hero.png');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }


    .process-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url(/wp-content/uploads/2026/01/OurProcess.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }


    .about-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0px;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url(/wp-content/uploads/2026/01/about-redd-group.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }

}




@media (max-width: 768px) {

    .nation-services-row .et_pb_column_0,
    .nation-process-row .et_pb_column_0 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: unset;
        grid-column: unset;
        grid-row: unset;
    }
}

@media (max-width: 480px) {

    .nation-services-row .et_pb_column_0,
    .nation-process-row .et_pb_column_0 {
        grid-template-columns: 1fr;
    }
}

.section-gap {
    margin-left: 1.8rem;
    margin-right: 1.8rem;
}

.two-column-border-section .et_pb_column {
    border-radius: 0.5rem;
    border: 2px solid var(--Brand-Red);
    padding-left: 2.08rem;
    padding-right: 2.08rem;
    padding-bottom: 2.08rem;
    padding-top: 2.69rem;
}

a.text-link {
    color: var(--Brand-Red);
    font-size: 1rem;
    font-weight: 700;
}

a.text-link.white {
    color: #fff;
}

.global-cta {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 0.1) 100%), url(/wp-content/uploads/2025/10/global-cta.png) no-repeat center center;
    background-size: cover;
}

.global-cta h2 {
    margin-bottom: 0;
}

p.subheading {
    color: var(--Default-Black);
    font-family: var(--Font-Heading-Sans);
    font-weight: 700;
    font-size: var(--Heading-3-Size);
    padding-top: 1.19rem;
    padding-bottom: 1.19rem;
}

.global-cta .et_pb_module.et_pb_text {
    margin-bottom: 1.19rem;
}

#main-content .served-blurb .et_pb_main_blurb_image {
    margin-bottom: 10px;
}


.building-icon:before {
    content: url('/wp-content/uploads/2025/10/building.svg');
    position: absolute;
    left: 0;
    top: -15px;
    display: block;
    width: 40px;
    height: 40px;
}

.hospital-icon:before {
    content: url('/wp-content/uploads/2025/10/hospital.svg');
    position: absolute;
    left: 0;
    top: -15px;
    display: block;
    width: 40px;
    height: 40px;
}


.plug-icon:before {
    content: url('/wp-content/uploads/2025/10/plug.svg');
    position: absolute;
    left: 0;
    top: -15px;
    display: block;
    width: 40px;
    height: 40px;
}

.train-track-icon:before {
    content: url('/wp-content/uploads/2025/10/train-track.svg');
    position: absolute;
    left: 0;
    top: -15px;
    display: block;
    width: 40px;
    height: 40px;
}



.section-gap span.et_pb_image_wrap {
    display: none;
}


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

	body.et_pb_pagebuilder_layout #page-container #et-main-area #main-content div#industries-hero .et_pb_fullwidth_header {
	 padding-top: 3rem !important;
    padding-bottom: 3rem;
	}

    .building-icon:before,
    .hospital-icon:before,
    .plug-icon:before,
    .train-track-icon:before {
        top: 25px;

    }

    .served-blurb {
        margin-bottom: 0px !Important;
    }

    h3.et_pb_toggle_title {
        padding-left: 30px ! IMPORTANT;
        padding-right: 25px ! IMPORTANT;
        color: #333 !Important;
    }

    .et_pb_toggle_content.clearfix {
        padding-left: 30px ! IMPORTANT;
        padding-right: 0px !important;
        padding-top: 0px !Important;
    }

    .section-gap {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .et_pb_fullwidth_header .et_pb_fullwidth_header_container .et_pb_button_one {
        margin-right: 0;
    }

    section.et_pb_module.et_pb_fullwidth_header {
        max-height: 660px !important;
        min-height: 100% !important;
    }

    #page-container .home-header {
        max-height: 100% !important;
    }

    /* 	section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.home-header.et_pb_text_align_left.et_pb_bg_layout_dark.et_pb_fullscreen {
    	padding-top: 50px ! IMPORTANT;
	} */

    .home-header .header-content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    #services-hero section.et_pb_module.et_pb_fullwidth_header,
    #zoning-hero section.et_pb_module.et_pb_fullwidth_header,
    .pca-header .environmental-assessments-header,
    #zoning-hero .zoning-header,
    #process-hero section.et_pb_module.et_pb_fullwidth_header,
    #about-hero section.et_pb_module.et_pb_fullwidth_header {
        max-height: 100% !important;
        min-height: 100% !important;
        padding-bottom: 50px !important;
    }

    #services-hero .et_pb_fullwidth_header_container.left .header-content,
    #services-hero .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    #zoning-hero .et_pb_fullwidth_header_container.left .header-content,
    #zoning-hero .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    .environmental-assessments-header .et_pb_fullwidth_header_container.left .header-content,
    .environmental-assessments-header .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    .pca-header .et_pb_fullwidth_header_container.left .header-content,
    .pca-header .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    #zoning-hero .zoning-header .et_pb_fullwidth_header_container.left .header-content,
    #zoning-hero .zoning-header .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    #process-hero .et_pb_fullwidth_header_container.left .header-content,
    #process-hero .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper,
    #about-hero .et_pb_fullwidth_header_container.left .header-content,
    #about-hero .et_pb_fullwidth_header_container.left .header-content .et_pb_header_content_wrapper {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }


    /* 	.header-content {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	} */

    .environmental-assessments .timeline-content-column::before {
        height: 82% !important;
    }


    .et_pb_fullwidth_header_container {
        min-height: 0px !important;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        color: var(--Default-Black);
        font-size: 1.5rem !important;
        font-weight: 900;
    }

    .swiper-button-prev {
        position: absolute !important;
        left: 73vw !important;
        z-index: 99 !important;
    }

    .services-blurb.swiper-slide,
    .process-blurb.swiper-slide {
        min-height: 295px;
    }

    .global-cta h2 {
        max-width: 17ch;
    }

    .global-cta {
        background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 100%, rgba(255, 255, 255, 0.1) 100%), url(/wp-content/uploads/2025/10/global-cta.png) no-repeat 70% center;
        background-size: cover;
    }

    .global-cta p:not(p.subheading) {
        color: var(--Default-Black);
        font-style: normal;
        font-weight: 400;
        line-height: 1.4375rem;
        padding-right: 2rem;
        font-size: 1rem;
    }

    .et_pb_svg_logo #logo {
        height: 200% !Important;
    }

    .mobile-slider-overflow {
        overflow: hidden;
    }


}



.flex {
    display: flex;
}

.grid {
    display: grid;
}

.topic-row .slick-slide {
    padding: 1vh;
}

/* Slick Defaults */
.slick-slide {
    margin-bottom: 0 !important;
}

.slick-arrow {
    font-size: 20px !important;
    transition: all .5s ease;
}

.slick-arrow:hover {
    cursor: pointer;
    transition: all .5s ease;
    scale: 1.1 !important;
}

i.slick-arrow:active {
    transition: all .5s ease;
    scale: 1.1 !important;
}

.button-container .slick-arrow:first-child {
    margin-right: 5px;
}

.button-container .slick-arrow:last-child {
    margin-left: 5px;
}

.left {
    text-align: left;
    align-items: flex-start;
}

.right {
    text-align: right;
    align-items: flex-end;

}


/*Blog Section*/
.onpage-post-list {
    position: relative;
}

.onpage-post-list i {
    position: absolute;
    top: -10%;
    color: var(--Default-White);
}

.onpage-post-list i.fa-chevron-right {
    right: 0;
}

.onpage-post-list i.fa-chevron-left {
    right: 5%;
}

ol.fsm-on-page-posts {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 2vh;
}

li.on-page-post-item {
    background: var(--Default-White);
    display: flex;
    height: auto;
}

li.on-page-post-item .card {
    height: 100% !important;
    width: 100% !important;
    padding: 2vh;
}

li.on-page-post-item .card img {
    min-height: 250px;
    max-height: 250px;
    min-width: 100%;
    object-fit: cover;
    object-position: center;
    margin-bottom: 2vh;
}

li.on-page-post-item .card h3 {
    font-size: 18px;
}

@media only screen and (max-width:980px) {
    ol.fsm-on-page-posts {
        display: block;
        padding-bottom: 0 !important;
    }

    ol.fsm-on-page-posts .slick-track {
        display: flex;
        height: auto;
    }

    ol.fsm-on-page-posts .slick-track li {
        min-height: 100%;
    }

}

/*END*/


/* Industries */


.industries-grid-row .et_pb_column {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    row-gap: 40px;
    column-gap: 49px;
}

.main-industries-four h2 {
    padding-bottom: 1rem;
}


.main-industries-four ul {
    list-style-type: disc;
    padding: 23px 0 23px 2em;
    line-height: 26px;
}

.main-industries-four p {
    font-size: 1rem !important;
}


.industries-grid-row h3 {
    font-size: 1.125rem !important;
    max-width: 17ch;
    margin: 0 auto;
}

@media (min-width: 981px) {
    #main-content .industries-grid {
        padding-top: 7.5rem;
        padding-bottom: 6rem;
    }

    .main-industries-four h2 {
        max-width: 19ch;
    }

    .main-industries-four .et_pb_column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .industries-support .et_pb_text_inner p {
        max-width: 58ch;
    }

    .industries-support .et_pb_text_inner h2 {
        max-width: 19ch;
    }

    .about-experience p {
        max-width: 70ch;
    }

    .about-experience .et_pb_text_inner h2 {
        max-width: 19ch;
    }

    .industries-header::after {
        content: "";
        position: absolute;
        top: 40px;
        right: 0px;
        z-index: 1;
        border-radius: 0.625rem;
        height: 70rem;
        width: 38rem;
        background-image: url(/wp-content/uploads/2025/10/industries-tall-hero.png);
        background-size: auto;
        background-position: center center;
        background-repeat: no-repeat;
        aspect-ratio: 653 / 435;
        flex-shrink: 0;
    }

    .industries-header {
        position: relative;
        overflow: visible;
    }

    .industries-support,
    .about-experience {
        padding-top: 6rem !Important;
        padding-bottom: 7rem !Important;
    }

    .industries-main-section {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }



}

@media (max-width: 980px) {
    .industries-grid-row .et_pb_column {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 0px;
        column-gap: 0px;
    }

    #main-content .industries-grid {
        padding-top: 2rem;
    }


    .main-industries-four .swiper-slide {
        margin-bottom: 0px;
    }

    .main-industries-four ul {
        padding: 23px 0 0px 2em;
    }

    .main-industries-four.mobile {
        padding-bottom: 0;
    }
}



/*END*/



/* Services */



#main-content .core-services .core-service-blurbs .et_pb_module,
#main-content .core-process .core-process-blurbs .et_pb_module {
    padding: 3.75rem 3.75rem;
    border-radius: 0.625rem;
    background: var(--Default-White);
    margin-bottom: 0px;
}

#main-content .core-services .core-service-blurbs img,
#main-content .core-process .core-service-process img {
    max-width: 48px;
}

#main-content .core-services.child .core-service-blurbs.child .et_pb_module,
#main-content .core-process.child .core-process-blurbs.child .et_pb_module {
    padding: 3.75rem 3.75rem;
    border-radius: 0.625rem;
    background: var(--Default-White);
    border: 2px solid var(--Brand-Red);
    margin-bottom: 0;
}

.services-icon-container,
.process-icon-container {
    display: flex;
    align-items: center;
    gap: 1rem;
    align-self: stretch;
}

.services-icon-container h3,
.process-icon-container h3 {
    margin-bottom: 0;
}

.core-service-blurbs .et_pb_text_inner,
.core-service-blurbs.child .et_pb_text_inner,
.core-process-blurbs .et_pb_text_inner,
.core-process-blurbs.child .et_pb_text_inner {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
}

.additional-services-row .et_pb_column,
.additional-process-row .et_pb_column {
    border-left: var(--Brand-Red) 0.125rem solid;
    padding-left: 3.75rem;
}

.additional-services-row .et_pb_column.et_pb_column_2_5.et_pb_column_3.et_pb_css_mix_blend_mode_passthrough.et-last-child {
    border-left: none;
}

.additional-services-row .et_pb_column h3,
.additional-process-row .et_pb_column h3 {
    margin-bottom: 1.81rem;
}

.call-out-red {
    padding: 3.75rem 3.75rem 4rem 3.75rem;
    border-radius: 0.625rem;
    background: var(--Brand-Red);
    margin-bottom: 0px;
}


.trust-counter span.percent-value,
.trust-counter span.percent-sign {
    color: var(--Brand-Red);
    text-align: center;
    font-family: var(--Font-Heading-Sans);
    font-size: 4.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2.5rem;
    display: inline-block;
}


.et_pb_number_counter .percent {
    height: 5.25rem !important;
    /*     max-width: 17ch; */
    margin: 0 auto;
}

.et_pb_number_counter.et_pb_with_title .percent {
    margin-bottom: 0px;
}

.et_pb_module.et_pb_number_counter {
    border-radius: 0.625rem;
    border: 2px solid var(--Brand-Red);
    background: var(--Default-White);
    padding: 2.6rem 1.6rem;
    width: 100%;
}

.et_pb_number_counter h3 {
    color: var(--Default-Black) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    line-height: 1.4375rem !important;
}

.et_pb_number_counter.trust-counter:hover {
    background: var(--Brand-Tan);
}


@media (min-width: 981px) {

    .contact-hero .call-out-red {
        max-width: 50ch;
    }

    .additional-services-row {
        display: flex;
        align-items: end;
    }

    #main-content .core-services,
    #main-content .core-process {
        padding-top: 7.5rem;
        padding-bottom: 7.4rem;
    }

    #main-content .core-services.child,
    #main-content .core-process.child {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .et_pb_row.et_pb_row_0.core-service-heading.child,
    .et_pb_row.et_pb_row_0.core-process-heading.child {
        padding-bottom: 2rem;
    }

    .condensed-section .et_pb_column .et_pb_text_inner,
    .condensed-section .et_pb_column {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    #main-content .condensed-section {
        z-index: 2;
    }


    #main-content .core-service-blurbs .et_pb_column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4.6rem;
    }



    .core-service-heading p,
    .core-service-heading.child p {
        max-width: 91ch;
    }

    .additional-services-row .et_pb_column p {
        max-width: 82ch;
    }

    #main-content .stakeholders {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .service-trust-row .et_pb_column {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2.5rem;
    }

}

@media (max-width: 980px) {
    .additional-services-row .et_pb_column {
        padding-left: 1.75rem;
    }

    .call-out-red {
        padding: 2.75rem 2.75rem 4rem 2.75rem;
        border-radius: 0.625rem;
        background: var(--Brand-Red);
        margin-bottom: 0px;
    }

    .core-service-blurbs .et_pb_column.et_pb_column_4_4.et_pb_column_1.et_pb_css_mix_blend_mode_passthrough.et-last-child {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }


}



#main-content .core-process-blurbs .et_pb_column {
    display: grid;
    /* Define the grid with 6 equal-width columns */
    grid-template-columns: repeat(1, 1fr);
    gap: 3.6rem;
    /* Disable default Divi styles */
    width: 100% !important;
    padding: 0 !important;
    margin-left: 3rem;
}

#main-content .core-process-blurbs {
    border-left: solid 2px var(--Brand-Red);
    padding-top: 0;
    padding-bottom: 0;
}


#main-content .core-process .core-process-blurbs .et_pb_module:before {
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--Brand-Tan);
    left: -62px;
    top: 50%;
    transform: translateY(-50%);
}


.core-process-blurbs .et_pb_module.et_pb_text img {
    width: 84px;
    height: 84px;
}

/* END */




/*service-child zoning */
.timeline-content-column {
    position: relative;
    padding-left: 40px !important;
}

.timeline-content-column::before {
    content: '';
    position: absolute;
    top: -44px;
    left: 0px;
    height: 87%;
    width: 2px;
    background: var(--Brand-Red);
    z-index: 0;
}

#main-content .timeline-section.alta .timeline-content-column::before {
    content: '';
    position: absolute;
    top: -44px;
    left: 0px;
    height: 92%;
    width: 2px;
    background: var(--Brand-Red);
    z-index: 0;
}

.timeline-content-column .et_pb_text {
    position: relative;
    padding-bottom: 25px;
}

.timeline-content-column .et_pb_text::before {
    content: '';
    position: absolute;
    left: -51px;
    top: 0px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--Brand-Tan);
    z-index: 2;
}

.timeline-content-column .et_pb_text:last-child {
    padding-bottom: 0;
}

.timeline-content-column h3,
.timeline-section h2 {
    margin-bottom: 1.88rem;
}

@media (max-width: 980px) {

    .core-service-blurbs.child .et_pb_column {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .timeline-content-column::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 0px;
        height: 84%;
        width: 2px;
        background: var(--Brand-Red);
        z-index: 0;
    }

    #main-content .timeline-section.alta .timeline-content-column::before {
        top: 10px !important;
        height: 88% !important;
    }

    #main-content .core-services.child .core-service-blurbs.child .et_pb_module,
    #main-content .core-services .core-service-blurbs .et_pb_module {
        padding: 2.75rem 2.75rem;
    }
}

@media (min-width: 981px) {

/*     .zoning-header {
        overflow: hidden;
    } */

/*     .zoning-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url('/wp-content/uploads/2026/01/Nationwide-Zoning-Compliance-Services.jpg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    } */

    .alta-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url(/wp-content/uploads/2026/01/Survey_Image_Website-II.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }

    .environmental-assessments-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url('/wp-content/uploads/2026/01/EnvironmentalAssessment.jpg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }

    .pca-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 64%;
        width: 40%;
        height: 100%;
        background-image: url('/wp-content/uploads/2026/01/Building-Insights-900.jpeg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 0;
    }

    #main-content .timeline-section.alta:after {
        background-image: url(/wp-content/uploads/2025/10/Comprehensive-ALTANSPS-Land-Title-Surveys.png);
        left: -100px;
    }

    #main-content .timeline-section.environmental-assessments:after {
        background-image: url(/wp-content/uploads/2025/10/Zoning-Reports-We-Provide.png);
        left: -100px;
    }

    #main-content .timeline-section.pca:after {
        background-image: url(/wp-content/uploads/2025/10/Property-Condition-Assessment-Services.png);
        left: -100px;
    }
}

/*END*/


.testimonial-row .testimonial-column .swiper-slide {
    width: 15%;

    transition: width 0.3s ease-in-out, transform 0.3s ease-in-out;
}


.testimonial-row .testimonial-column .swiper-slide-active {
    width: 40%;
    transform: scale(1.05);
    position: relative;
}



.testimonial-row .testimonial-column .swiper-slide-active {
    position: relative;
}

@media (min-width: 981px) {

    /* These are the two red lines framing the central text */
    .testimonial-row .testimonial-column .swiper-slide-prev:after,
    .testimonial-row .testimonial-column .swiper-slide-next:before {
        content: "";
        position: absolute;
        top: 10%;
        bottom: 10%;
        width: 3px;
        background-color: var(--Brand-Red);
    }

    .testimonial-row .testimonial-column .swiper-slide-prev:after {
        right: -15px;
    }

    .testimonial-row .testimonial-column .swiper-slide-next:before {
        left: -15px;
    }
}

/* Example using CSS pseudo-elements on the active slide: */
.testimonial-row .testimonial-column .swiper-slide-active:before,
.testimonial-row .testimonial-column .swiper-slide-active:after {
    content: '“';
    /* Unicode quote character */
    position: absolute;
    font-size: 150px;
    /* Make the quotes very large */
    color: var(--Brand-Red);
    /* Quote color */
    line-height: 0.1;
    z-index: 10;
    font-size: 10.9375rem;
    font-style: normal;
    font-weight: 800;
    line-height: 105%;
    font-family: var(--Font-Heading-Sans);
}

.testimonial-row .testimonial-column .swiper-slide-active:before {
    content: '“';
    bottom: -110px;
    right: -30px;
    transform: rotate(180deg);
    /* Rotate the opening quote */

}

.testimonial-row .testimonial-column .swiper-slide-active:after {
    top: -110px;
    left: -15px;
}

.testimonial-row .testimonial-column .swiper-slide-active:before {
    content: '“';
    bottom: -110px;
    right: 0px;
    transform: rotate(180deg);
    /* Rotate the opening quote */

}

@media (min-width: 981px) {
    .testimonial-row .testimonial-column .swiper-slide-active:after {
        top: -110px;
        left: -30px;
    }

    .testimonial-row .testimonial-column .swiper-slide-active:before {
        content: '“';
        bottom: -110px;
        right: -30px;
        transform: rotate(180deg);
        /* Rotate the opening quote */

    }
}

.testimonial-row.testimonial-slider-container {
    padding-top: 3.5rem;
    padding-bottom: 3.8rem;
}

#page-container {
    overflow: hidden;
}

.testimonial-row .testimonial-column .swiper-slide {
    margin: 0 auto !important;
    padding-left: 35px;
    padding-right: 35px;
}

/* 1. Position the pagination area */
.custom-dots-pagination {
    text-align: center;
    padding-top: 30px;
    /* Space between slider and dots */
}

/* 2. Style ALL pagination bullets (The hollow/outline look) */
.custom-dots-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 5px;
    background: none;
    /* Make the background transparent */
    opacity: 1;
    /* Keep inactive dots visible */
    border: 1px solid #A52A2A;
    /* Use your brand color for the outline */
    border-radius: 50%;
    /* Ensure they are circles */
    transition: all 0.3s ease;
}

/* 3. Style the ACTIVE bullet (The pill/solid look) */
.custom-dots-pagination .swiper-pagination-bullet-active {
    width: 30px;
    /* Make it wider to create the pill shape */
    border-radius: 10px;
    /* Adjust radius to make the pill shape */
    background: #A52A2A;
    /* Solid fill with your brand color */
    border-color: #A52A2A;
    /* Ensure the border is the same color */
}


@media (max-width: 980px) {
    .additional-services-row .et_pb_column {
        padding-left: 1.75rem;
    }

    .additional-services-row .et_pb_column.et_pb_column_2_5.et_pb_column_3.et_pb_css_mix_blend_mode_passthrough.et-last-child {
        padding-left: 0;
    }

    #main-content .core-process .core-process-blurbs .et_pb_module {
        padding: 1.75rem 1.75rem;
        border-radius: 0.625rem;
        background: var(--Default-White);
    }

    #main-content .core-process-blurbs .et_pb_column {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 0rem;
        width: 100% !important;
        padding: 0 !important;
        margin-left: 1rem;
    }

    #main-content #post-917 .core-process-blurbs .et_pb_column {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 2rem;
        width: 100% !important;
        padding: 0 !important;
        margin-left: 1rem;
    }

    #main-content .core-process .core-process-blurbs .et_pb_module:before {
        content: '';
        position: absolute;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: var(--Brand-Tan);
        left: -29px;
        top: 50%;
        transform: translateY(-50%);
    }

    #main-content .core-process {
        padding-top: 2rem;
        padding-bottom: 4rem;
    }

    .et_pb_row.et_pb_row_9.service-trust-row .et_pb_column {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .trust-counter span.percent-value,
    .trust-counter span.percent-sign {
        font-size: 2.375rem;
    }

    .et_pb_module.et_pb_number_counter {
        padding: 1rem 1rem;
        margin-bottom: 0;
    }

    .industries-support img {
        border-radius: 0.625rem;
    }
}


/*
ABOUT
*/
/*END*/

/*
CONTACT
*/

.thank-you-hero .et_pb_module.et_pb_code.et_pb_code_0.et_pb_text_align_center {
    min-height: 200px;
    height: 100% !important;
    margin-bottom: 1.5%;
}

.thank-you-hero .et_pb_module.et_pb_code.et_pb_code_0.et_pb_text_align_center .et_pb_code_inner {
    min-height: 200px;
    height: 100% !important;
}

@media only screen and (min-width:981px) {



    .contact-hero {
        padding-top: 12rem !important;
    }

    .contact-hero h1 {
        max-width: 10ch;
    }

    #main-content .contact-hero.order-hero h1 {
        max-width: 100%;
    }

    .contact-hero .hero-text p {
        max-width: 10ch;
    }

    .contact-hero .hero-text p {
        max-width: 44ch;
    }

    .request-consultation .et_pb_text_inner {
        display: flex;
        gap: .5rem;
        flex-direction: column;
    }

    .request-consultation .et_pb_text_inner h2 {
        margin-bottom: 0px;
    }

    .hero-text .et_pb_text_inner {
        display: flex;
        gap: 1rem;
        flex-direction: column;
    }

    .global-cta p:not(p.subheading) {
        width: 61ch;
    }

    .contact-cta .et_pb_text_inner {
        display: flex;
        flex-direction: column;
        gap: 1.8rem;
    }

    .contact-cta .et_pb_column {
        display: flex;
        flex-direction: column;
        gap: 1.8rem;
    }

}

#page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
#page-container .gform_wrapper textarea.textarea,
#page-container div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    border: 1px solid var(--Default-Black);
    font-size: 16px;
    padding: 1em 1em;
    min-height: auto;
    max-height: none;
    background: rgba(255, 255, 255, .5);
    border-radius: 0.625rem;
}


.gform_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 0px;
    padding: 0;
}

.gform_wrapper.gravity-theme .ginput_complex label {
    display: block;
    font-size: 0.8125rem !important;
}

/* Thank you */

.thank-you-hero h1 {
    font-size: clamp(2.25rem, round(1.696rem + 2.571cqi, 0.5em), 3rem) !important;
}

@media only screen and (max-width:981px) {
    .contact-hero {
        padding-top: 8rem !important;
    }
}

/*END*/

/*FOOTER*/
#subfooter a {
    text-decoration: underline;
    color: var(--Default-White);
}

@media only screen and (max-width:980px) {
    .footer-grid-flex .et_pb_column {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        justify-content: center;
    }

    .footer-grid-flex .et_pb_button_module_wrapper.et_pb_button_0_tb_footer_wrapper.et_pb_button_alignment_right.et_pb_module,
    .footer-grid-flex p,
    .footer-grid-flex a,
    .footer-grid-flex .et_pb_module.et_pb_text {
        text-align: center;
    }

    .footer-flag-module .et_pb_text_inner {
        display: flex;
        flex-direction: column;
        font-size: 1rem;
        align-items: center;
        gap: 1.2rem;
    }

    .et_pb_section.et_pb_section_1_tb_footer.footer-bot.et_pb_with_background.et_section_regular {
        padding-bottom: 7vh;
    }

    .footer-grid-flex .et_pb_module {
        margin-bottom: 1.2rem;
    }

    i.fa-solid.fa-flag-usa {
        font-size: 1.2rem !important;
    }
}

@media only screen and (min-width: 981px) and (max-width: 1200px) {
    .footer-grid-flex .et_pb_column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: space-evenly;
        row-gap: 30px;
        align-items: center;
    }

    .footer-grid-flex .et_pb_button_module_wrapper.et_pb_button_0_tb_footer_wrapper.et_pb_button_alignment_right.et_pb_module,
    .footer-grid-flex p,
    .footer-grid-flex a,
    .footer-grid-flex .et_pb_module.et_pb_text {
        text-align: center;
    }

    .footer-flag-module .et_pb_text_inner {
        display: flex;
        flex-direction: column;
        font-size: 1rem;
        align-items: center;
        gap: 1.2rem;
    }

    .et_pb_section.et_pb_section_1_tb_footer.footer-bot.et_pb_with_background.et_section_regular {
        padding-bottom: 7vh;
    }

    #sub-footer .et_pb_text_inner {
        text-align: center;
    }

    .footer-grid-flex .et_pb_module {
        margin-bottom: 1.2rem;
    }

    i.fa-solid.fa-flag-usa {
        font-size: 1.2rem !important;
    }
}

@media only screen and (min-width:1201px) {
    .footer-grid-flex .et_pb_column {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }
}

.footer-top {
    border-top: 20px solid var(--Brand-Red);
}

.footer-grid-flex a {
    color: var(--Default-Black) !important;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4375rem;
    padding-bottom: 0px;
}

.footer-grid-flex p {
    padding-bottom: 0px;
}

#sub-footer p {
    color: var(--Default-Black) !important;
    opacity: .7;
}

footer a:not(.et_pb_button, .et_pb_social_icon a) {
    color: var(--Default-Black) !important;
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
    margin: 15px 0 0;
}

/*RESUSABLE*/

.side-by-side {
    display: flex;
    justify-content: center;
    margin-top: 3vh;

    a:first-child {
        margin-right: 1vh !important;

    }
}

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

    .side-by-side {
        display: flex;
        flex-direction: column;
    }

    .side-by-side a:first-child {
        margin-right: 0 !important;
        margin-bottom: 1vh !important;
    }
}

.footer-bot p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4375rem;

}

@media only screen and (min-width:981px) {

    div#services-hero,
    div#zoning-hero,
    div#process-hero,
    div#about-hero {
        padding-top: 120px;
    }

    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.et_pb_text_align_left.et_pb_bg_layout_light.et_pb_fullscreen,
    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.industries-header.et_pb_text_align_left.et_pb_bg_layout_dark.et_pb_fullscreen {
        padding-top: 50px !important;
    }

    .et_pb_fullscreen .et_pb_fullwidth_header_container {
        min-height: 360px !important;
    }

    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.zoning-header.alta-header.et_pb_text_align_left.et_pb_bg_layout_light.et_pb_fullscreen.et_multi_view__hover_selector.et_multi_view_swapped,
    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.zoning-header.environmental-assessments-header.et_pb_text_align_left.et_pb_bg_layout_light.et_pb_fullscreen.et_multi_view_swapped.et_multi_view__hover_selector {
        padding-bottom: 60px;
    }

    section.et_pb_module.et_pb_fullwidth_header.et_pb_fullwidth_header_0.industries-header.et_pb_text_align_left.et_pb_bg_layout_dark.et_pb_fullscreen {
        padding-top: 120px !important;
    }
}


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

    div#services-hero img,
    div#zoning-hero img,
    div#process-hero img,
    div#about-hero img {
        border-radius: 0.625rem;
    }
	
	.two-column-flex.align-end .et_pb_text_inner div {
    	padding-bottom: 1rem;
	}

}

ul {
    margin-left: 20px;
}


p.fsm-txt-btn {
    color: #A2252A;
    text-decoration: underline;
    cursor: pointer;
    display: inline-block;
    transition: color 0.2s ease;
    width: fit-content;
}


p.fsm-txt-btn:hover {
    color: #7a1b1f;
    text-decoration: none; 
	background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
}

p.fsm-txt-btn:active {
    color: #521215;
}

.core-service-blurbs p {
	padding-bottom: 0px;
}


.fsm-modal {
  display: none; 
  position: fixed; 
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0,0,0,0.6); 
}

/* Modal Content Box */
.fsm-modal-content {
  background-color: #fefefe;
  margin: 15% auto; 
  padding: 30px;
  border: 1px solid #888;
  width: 80%; 
  max-width: 500px;
  border-radius: 8px;
  position: relative;
  font-family: inherit; 
}

/* Close Button */
.fsm-close {
  color: #aaa;
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
}

.fsm-close:hover {
  color: #000;
}

.fsm-trigger {
    cursor: pointer;
}


body.fsm-no-scroll {
  overflow: hidden;
}
.logo_container a:focus-visible {
    background-color: transparent !important;
    z-index: auto !important; 
	box-shadow: unset;
}


.logo_container a:focus-visible img {
    position: relative !important;
    z-index: 100 !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* Accordian */


.dropdowns .et_pb_toggle.et_pb_toggle_open {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.dropdowns .et_pb_toggle.et_pb_toggle_open {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.dropdowns .et_pb_toggle_content {
    padding-right: 20rem;
}

@media screen and (max-width: 980px) {
    .dropdowns .et_pb_toggle_content {
        padding-right: 15vw!important;
    }
}


.dropdowns .et_pb_toggle.et_pb_toggle_open::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 100%;
    background-image: 
        linear-gradient(270deg, rgba(40, 40, 40, 0.00), #282828 100%),
        url(/wp-content/uploads/2026/01/dropdown-background.png);

    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1; 

    transition: opacity 0.6s ease-in-out; 
}

#main-content .et_pb_accordion_item.et_pb_toggle_close .et_pb_toggle_title:before {
	color: #fff;
}



.et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column {
    display: flex;
    flex-wrap: wrap;      
    align-items: center;  
}


.et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column .et_pb_text {
    width: 45%;
    flex-basis: 45%;     
    padding-right: 30px;  
    box-sizing: border-box; 
}


.et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column .et_pb_image {
    width: 55%;
    flex-basis: 55%;
    text-align: right;
}

.et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column .et_pb_image img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 980px) {
    .et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column .et_pb_text,
    .et_pb_row.et_pb_row_3.two-column-flex.image-right .et_pb_column .et_pb_image {
        width: 100%;
        flex-basis: 100%;
        padding-right: 0;
        margin-bottom: 20px;
    }
}

/* Learn More Toggle */

/* Hide the extra content by default */
.more-content {
    display: none;
}

/* When visible, display inline so it continues right after the period */
.more-content.is-visible {
    display: inline;
}

/* Style the button to look clickable */
.fsm-trigger-more {
    cursor: pointer;
    color: #2ea3f2; 
    font-weight: bold;
    display: inline-block;
    margin-top: 10px;
}


p.fsm-txt-btn.fsm-trigger-more {
    text-decoration: none;
    color: var(--gray, #282828);
    font-family: "Sofia Sans Condensed";
    font-size: 1.125rem;
	margin-top: 2rem;
}

p.fsm-txt-btn.fsm-trigger-more:hover {
    text-decoration: underline;
}

.fsm-trigger-more i {
    margin-left: 5px; 
    vertical-align: middle;
}

#main-content .sub-service,
#main-content .middle-cta{
	background-image: 
    linear-gradient(180deg, rgba(40, 40, 40, 0.75) 0%, rgba(40, 40, 40, 0.00) 100%),
    url('/wp-content/uploads/2026/01/zoning-fullwidth-hero.png');
  background-color: var(--red, #A2252A);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: normal, soft-light;
}

