.page-template-emd-theme-customizations nav.main_menu > ul > li > a {
	color:  #fff;
}
.banner {
	position:relative;
	width:100%;
	background-color:#078c45;
	background-image:url(../img/dist/banner-bg.png);
	background-position:top right;
	background-repeat:no-repeat;
	z-index:1;
}
.banner.has-banner-image {
	margin-bottom:2.5em;
}

.banner-title {
	padding:5em 0;
	position:relative;
	z-index:10;
}
.banner-title .h1 {
	font-size:2.5rem;
	line-height: 1.5em; 
	margin:0 1em;
	display:block;
	color:#fff;
	font-family:"Montserrat", sans-serif;
	font-weight:700;
}

.banner-image {
	display:none;
	position:absolute;
	bottom:-2em;
	right:0;
	height:100%;
	width:50%;
	border-radius:5px 0 0 5px;
	overflow:hidden;
}
.banner-image img {
	display:block;
	position:absolute;
	left:-9999px;
	top:-9999px;
	right:-9999px;
	bottom:-9999px;
	margin:auto;
	width:100%;
	min-width:100em;
	user-drag:none;
	-webkit-user-select:none;
	 -moz-user-select:none;
	  -ms-user-select:none;
	      user-select:none;
	z-index:1;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.banner-image img{
		-o-object-fit:cover;
		   object-fit:cover;
		left:0;
		top:0;
		right:auto;
		bottom:auto;
		width:100%;
		height:100%;
		min-width:0;
	}
}

.banner-image-m {
	display:block;
	position:absolute;
	left:-9999px;
	top:-9999px;
	right:-9999px;
	bottom:-9999px;
	margin:auto;
	width:100%;
	min-width:100em;
	user-drag:none;
	-webkit-user-select:none;
	 -moz-user-select:none;
	  -ms-user-select:none;
	      user-select:none;
	z-index:1;
	opacity:0.3;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.banner-image-m{
		-o-object-fit:cover;
		   object-fit:cover;
		left:0;
		top:0;
		right:auto;
		bottom:auto;
		width:100%;
		height:100%;
		min-width:0;
	}
}

@media (min-width: 60em) {
	.banner-title{
		width:49%;
		/*padding-top: 13em;*/
	}
	.banner-title .h1{
		font-size:2.5rem;
		margin:0 2em;
	}
	.banner-image{
		display:inline-block;
	}
	.banner-image-m{
		display:none;
	}
}

/*Essential Grid styling for skin used on Project grids*/
.esg-cc.eec .esg-center p {
	opacity: 0;
	line-height: 0;
}

.emd-email:before {
    content: attr(data-emailwebsite) "\0040" attr(data-emailuser);
    unicode-bidi: bidi-override;
    direction: rtl;
}

/*Expertise Page Revolution Slider styles*/
rs-slide:not([data-isactiveslide="true"]) {
    height: 0px;
}


/*EMD Page Custom CSS*/
.emd-project-card .qode-banner-content {
	color:  #fff;
	font-size: 2em;
}

.emd-project-cover .elementor-container {
	background: linear-gradient(180deg,rgb(0,0,0,0.7) 0%,rgba(0,0,0,0) 25%);
}
.emd-project-cover {
	background-size: cover;
}

.emd-hide-title .elementor-image-box-content {
	opacity:  0;
	transform: translate3d(0,0,0)
	/*transition:  opacity 0.3s, transform 0.3s;*/
}
.emd-hide-title:hover .elementor-image-box-content,
.emd-hide-title:active .elementor-image-box-content,
.emd-hide-title:focus .elementor-image-box-content {
	animation-name: fadeInUp;
	-webkit-animation-name: fadeInUp;
	animation-duration: 0.3s;
	animation-fill-mode: both;
	/*transition:  opacity 0.3s, transform 0.3s;*/
}
@keyframes fadeInUp {
   from {
       transform: translate3d(0,40px,0)
   }

   to {
       transform: translate3d(0,-40px,0);
       opacity: 1
   }
}

/*Home Alternate B Stylings*/
.elementor-template-full-width .elementor-24242 .elementor-element.elementor-element-bbe2ce4.hide-top-margin,
.elementor-template-full-width .elementor-24242 .elementor-element.elementor-element-3ca9610.hide-top-margin, 
.elementor-template-full-width .elementor-24242 .elementor-element.elementor-element-aecc69e.hide-top-margin  {
	margin-top: 0px;
}

.emd-header-resizer {
	width:  100%;
}
.paintorder {
	paint-order: stroke fill;
}


.changecolor p {
	color:  #848484;
}
.changecolor .elementor-element {
	margin-bottom: 0 !important;
	margin-block-end: 0 important;
}
.changecolor .hideuntilhover {
	max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
}
/*Hover Effects*/
.changecolor:hover h4,
.changecolor:active h4,
.changecolor:hover h2,
.changecolor:active h2 {
	color:  #078C45 !important;
}
.changecolor:hover .hideuntilhover,
.changecolor:focus .hideuntilhover,
.changecolor:active .hideuntilhover {
	max-height: 500px;
    transition: max-height 0.25s ease-in;
	
}

.rs-layer.rev-btn:hover i.fa-long-arrow-right::before {
	transform:  rotate(90deg);
}

@media screen and (min-width: 100vh) {
	.emd-header-resizer {
		width:  70%;
	}
}
@media screen and (max-width: 800px) {
	.changecolor .hideuntilhover {
		display: none;
	}
	.changecolor:hover .hideuntilhover,
	.changecolor:focus .hideuntilhover,
	.changecolor:active .hideuntilhover {
		display: block;
	}
}


/*Column Border for Contact Blocks*/
.emdborder .elementor-widget-wrap {
	border-right: 2px solid #848484 !important;
}



/*Trade Partners Paralax image row fix*/
@supports (-webkit-touch-callout: none) {
	.safari-fix {
		background-attachment: scroll;
		/*background-attachment: fixed;*/
	}
}


/* Footer Stylings */
.footer_top .four_columns > .column1 {
	width: 40%;
} 
.footer_top .four_columns > .column2, 
.footer_top .four_columns > .column3, 
.footer_top .four_columns > .column4 {
	width: 20%;
}



.wp-block-social-links.emd-footer-socials .wp-block-social-link a.wp-block-social-link-anchor svg {
	font-size: 1.8rem;
	color: #DADADA;
}
.qbutton.large.emd-footer-button {
	margin-bottom: 0.8rem;
	text-wrap: balance;
	white-space: normal;
	height: auto;
	padding: 10px 29px;
	line-height: 1.5rem;
	color: #fff !important;
}



.fading-arrow {
   opacity: 1;
}
/*.fading-arrow.is-inViewport {
   animation-name: FadingArrow;
   -webkit-animation-name: FadingArrow;
}*/
.fading-arrow.pleasefade {
   animation-name: FadingArrow;
   -webkit-animation-name: FadingArrow;
}

@keyframes FadingArrow {
   from {
       transform: translate3d(0,40px,0);
   }

   to {
       transform: translate3d(0,0,0);
       opacity: 0;
   }
}
@-webkit-keyframes FadingArrow {
   from {
       transform: translate3d(0,40px,0);
   }

   to {
       transform: translate3d(0,0,0);
       opacity: 0;
   }
}


/*Row padding on Our Expertise*/
.page-template-emd-theme-customizations .elementor-24598 .elementor-element.elementor-element-11376c7 > .elementor-element-populated {
	padding: 0;
}
.page-template-emd-theme-customizations .elementor-24598 .elementor-element.elementor-element-b63e110 {
	margin-top: 0;
}

/*Font size on mobile for Apply Here interactive blocks / banners*/
@media (max-width: 768px) {
	.page-template-emd-theme-customizations .qodef-qi-interactive-banner .qodef-m-text-holder p.qodef-m-text {
		font-size: 14px;
	    line-height: 18px;
	}
}


@media (min-width: 768px) {
    .projectgrid .elementor-column.elementor-col-25,.elementor-column[data-col="25"] {
        width:50% !important;
    }}

@media (min-width: 768px) {
        .leadership.elementor-section .elementor-container  {
        flex-wrap: nowrap !important;
}}


.display-none {
	display: none;
}





/* Pirtle Commitment Tabs — force the 4 tabs into a 2x2 grid (2 per row) */
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation {
    flex-wrap: wrap;
    white-space: normal;
    overflow: visible;
    row-gap: 16px;
    column-gap: 16px;
}
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .ui-tabs-tab {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .qodef-tab-title {
    margin: 0;
    white-space: normal;
}

/* Button-style tab labels — matches sitewide .qodef-qi-button styling
   !important on typography/padding: this Tabs widget instance has its own
   Elementor-generated Title Typography rule (high-specificity, loads after
   this stylesheet) that otherwise wins over plain class selectors. */
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .qodef-tab-title a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    padding: 13px 46px !important;
    border: 3px solid #CEC8C8;
    border-radius: 50px;
    background-color: #fff;
    color: #2D2D2D !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 2em !important;
    text-transform: none !important;
    text-align: center;
    text-decoration: none;
    transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
}
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .ui-tabs-tab:hover .qodef-tab-title a,
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .ui-tabs-tab.ui-tabs-active .qodef-tab-title a,
.pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .ui-tabs-tab.ui-state-active .qodef-tab-title a {
    background-color: rgb(7, 140, 69) !important;
    border-color: rgb(7, 140, 69) !important;
    color: #fff !important;
}

/* Mobile: stack to 1 per row instead of a cramped 2-up grid */
@media (max-width: 768px) {
    .pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .ui-tabs-tab {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .pirtle-commitment-tabs .qodef-tabs-horizontal-navigation .qodef-tab-title a {
        font-size: 14px;
        padding: 14px 24px;
    }
}

/* Two-column tab content: subtitle + green chevron bullet list / photo */
.emd-tab-columns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    margin-top: 20px;
}
.emd-tab-columns__text,
.emd-tab-columns__image {
    flex: 1 1 320px;
    min-width: 280px;
}
.emd-tab-columns__subtitle {
    font-weight: 700;
    font-size: 18px;
    color: rgb(45, 45, 45);
    margin: 0 0 16px;
}
.emd-tab-columns__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.emd-tab-columns__list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 14px;
    line-height: 1.5;
}
.emd-tab-columns__list li:last-child {
    margin-bottom: 0;
}
.emd-tab-columns__list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-top: 2px solid rgb(7, 140, 69);
    border-right: 2px solid rgb(7, 140, 69);
    transform: rotate(45deg);
}
.emd-tab-columns__image img {
    display: block;
    width: auto;
    height: 250px;
    margin-left: auto;
    border-radius: 6px;
}
@media (max-width: 768px) {
    .emd-tab-columns {
        flex-direction: column;
    }
}
