/* 
Theme Name:   Divi Child
Theme URI:    
Description:  
Author:       
Author URI:   
Template:     Divi
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html

--------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');

:root {
    /* //Font Sizes */
    --font-size-2xl: clamp(24px, 3vw, 48px); /* h-sm, p-2xl */
    --font-size-xl: clamp(18px, 2.5vw, 30px); /* p-xl */
    --font-size-l: clamp(16px, 2.2vw, 24px); /* h-xs, p-lrg */
    --font-size-m: clamp(14px, 1.8vw, 18px); /* p */
    --font-size-s: clamp(12px, 1.5vw, 16px); /* h-xxs */
    --font-size-xs: clamp(10px, 1.2vw, 14px); /* p-fine, h-fine */
    --font-size-2xs: clamp(8px, 0.9vw, 9px); /* .p-copyr */

	/* 1) default light in :root */
	--primary: #0DAF4B; /*green*/
	--secondary: #1f2a33;  /*blue*/
	
	--bg-color: #f7f7f7;
	--callout-box-bg: #1f2a33;

	--text-color: #1f2a33;
	--text-inverted: #ffffff;
	--link-color: var(--primary);
	
	--nav-link: #1f2a33;

}

/* 2) OS dark override */
@media (prefers-color-scheme: dark) {
	:root {
		/* dark mode vars */
		--bg-color:   #1f2a33;
		--callout-box-bg: #f7f7f7;

		--text-color: #FFFFFF;
		--text-inverted: #1f2a33;
		--link-color: #FFFFFF;

		--nav-link: #FFFFFF;
	}
}
/* 3) manual toggle (wins over media query) */
[data-theme="light"] {
	--primary: #0DAF4B; /*green*/
	--secondary: #1f2a33;  /*blue*/

	--bg-color: #f7f7f7;
	--callout-box-bg: #1f2a33;

	--text-color: #1f2a33;
	--text-inverted: #ffffff;
	--link-color: var(--primary);

	--nav-link: #1f2a33;

}

[data-theme="dark"] {
	--bg-color: #1f2a33;
	--text-color: #FFFFFF;
	--text-inverted: #1f2a33;
	--callout-box-bg: #f7f7f7;
	--link-color: #FFFFFF;
	--nav-link: #FFFFFF;
}









h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

.dipi-post-wrap h2.entry-title {
	font-family: 'Oswald',Helvetica,Arial,Lucida,sans-serif !important;
}

ul#mobile_menu1 {
    width: 80vw;
}

.et-menu-nav ul.et-menu li a, #top-menu a {
    color: #000;
}

#desktop-menu-section .dipi_hamburger.hamburger,
#mobile-menu-section .dipi_hamburger.hamburger {
	    background-color: #000 !important;
}

#affiliated-logos {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    gap: 10px;
    text-align: center;
}

#affiliated-logos > .et_pb_column {
    margin: auto !important;
    padding: 5px;
}


/*
 *  Footer
 *  */

div#footer-section-1 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    align-content: center;
    flex-wrap: wrap;
    width: 1320px;
    margin: 0 auto;
    max-width: 80%;
	gap: 20px;
}

#footer-section-1 > .et_pb_row {
    width: auto;
    margin: 0px;
}

#footer-section-1 > .footer-column-1 {
	max-width: 300px;
}

#footer-section-1 > .footer-column-2 {
    width: 440px;
	max-width: 100%;
	margin-left: auto;
}


#footer-section-1 > .footer-column-2 > .et_pb_column  {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
	margin: 0px;
    justify-content: space-between;
}

#footer-section-1 > .footer-column-2 > .et_pb_column > .et_pb_text {
	margin: 0px;
}

#footer-section-1  .et_pb_text ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}


footer.et-l > .et_builder_inner_content {
    background: hsl(0deg 0% 100% / 90%);
}

#footer-section-1 a {
	color: #000;
	transition: all ease 300ms;
}
#footer-section-1 a:hover {
	text-decoration: underline 3px #0daf4b ;
}
@media screen and (min-width: 1200px ) {
	#footer-section-1 > .footer-column-2 > .et_pb_column > .et_pb_text:nth-child(2) {
	    margin-top: 40px;
	}
}


.fancy-underline h4,
.content-col h4 {
    text-decoration: 5px underline #0DAF4B;
    text-underline-offset: 10px;
    margin-bottom: 0.3em;
}




.team-members-list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 30px;
}

.team-member {
    width: calc( 33% - 30px );
	    background: #f4f4f4;
    padding: 20px;
    border-radius: 5px;
	margin: auto;
}


.team-member-content.lightbox-content {
    position: fixed;
    top: 5vh;
    width: 1200px;
	max-width: 80%;
    margin: 0 auto;
    padding: 40px;
    background: #FFF;
    box-shadow: 0px 0px 20px #00000029;
    display: none;
    max-height: 80vh;
}

.lightbox-close-btn {
    text-align: right;
    top: -15px;
    position: relative;
}

 
.lb-content {
    display: flex;
    gap: 20px;
    max-height: 100%;
}
.lb-content-left {
    width: 25%;
}
.lb-content-right {
    width: 75%;
    max-height: 600px;
    overflow: scroll;
    overflow-x: hidden;
    padding: 0 20px;
}

button.open-lightbox-btn {
    background-color: transparent;
    border: 2px solid #000;
    border-radius: 5px;
    padding: 12px 40px;
    margin-top: 20px;
	cursor: pointer;
	letter-spacing: 1px;
}

button.open-lightbox-btn:hover {
	background-color: #F4FBF6;
}


@media screen and (max-width: 980px ) {
	.team-member {width: calc(  50% - 30px);}
}

@media screen and (max-width: 768px ) {
	.team-member {width: calc(  100%);}
}



.cta-btn-solid-green {
    color: #FFF;
    border-radius: 5px;
    background: #0daf4b;
    padding: 14px 36px;
    border: 2px solid #0daf4b;
}

.cta-btn-solid-green:hover {
	background: #FFF;
	color: #000;
	border: 2px solid #000;
}

.dipi-post-wrap .dipi-read-more-wrap > .dipi-read-more-button {
    color: #FFFFFF!important;
    border-width: 2px!important;
    border-color: #0DAF4B;
    border-radius: 5px !important;
    letter-spacing: 1px !important;
    font-size: 14px !important;
    font-family: 'Roboto',Helvetica,Arial,Lucida,sans-serif!important;
    background-color: #0DAF4B!important;
    padding-top: 14px!important;
    padding-right: 20px!important;
    padding-bottom: 14px!important;
    padding-left: 20px!important;
	LINE-HEIGHT: 1EM;	
	display: flex;
}
.dipi-post-wrap .dipi-read-more-wrap > .dipi-read-more-button:hover {
	background-color: #FFF !important;
	color: #0DAF4B !important;
}


.single-service-tag ul {
    display: flex;
    gap: 10px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    list-style: none;
}
 

.single-service-tag ul li {
    padding: 10px 25px;
    background: #EEEEEE;
    border-radius: 5px;
    line-height: 1em !important;
	font-size: 14px !important;
}


#tags a {
    text-transform: capitalize;
}


div#desktop-menu-section .dipi_button_grid {
    z-index: 99;
    position: relative;
}





/* 
 * Light mode / Dark Mode Toggle 
 * */
#darkmode-toggle-wrap {

}
input#darkmode-toggle {
	display: none;
}
#darkmode-toggle-wrap .toggle {
	font-size: 12px; /* 👈 change this to scale */
	border: .125em solid currentColor;
	border-radius: 2em;
	cursor: pointer;
	display: block;
	height: 2em;
	position: relative;
	width: 3.75em;
}
#darkmode-toggle-wrap .toggle span {
	background-color: currentColor;
	border-radius: 2em;
	display: block;
	height: 1.5em;
	left: .25em;
	overflow: hidden;
	position: absolute;
	top: .25em;
	text-indent: -9999px;
	transition: left .25s;
	width: 1.5em;
	z-index: 2;
}

#darkmode-toggle-wrap .toggle::before,
#darkmode-toggle-wrap .toggle::after {
	content: '';
	display: block;
	border-radius: 1em;
	position: absolute;
	z-index: 1;
}

#darkmode-toggle-wrap .toggle::after {
	box-shadow: .25em .25em #5901d8;
	height: 1.125em;
	right: .9em;
	top: .125em;
	width: 1.125em;
}

#darkmode-toggle-wrap .toggle::before {
	background-color: #ffc409;
	height: .625em;
	outline: .25em dotted #ffc409;
	outline-offset: .125em;
	left: .7em;
	top: .7em;
	width: .625em;
}

#darkmode-toggle-wrap input:checked ~ .toggle span {
	left: 2em;
}

#footer-credits-ldm .et_pb_text_inner {
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: flex-end;
	gap: 1em;
}



input#gform_submit_button_4 {
    background-color: #0daf4b;
    font-weight: 500;
    text-transform: uppercase;
    color: #ffffff !important;
    font-size: 17px !important;
    letter-spacing: 1px !important;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 100px;
    border-width: 0px;
    border-color: #333;
    border-style: solid;
    transition-property: background-color, color, letter-spacing;
    transition-duration: 300ms;
    transition-timing-function: ease;
    transition-delay: 0ms;
    padding: 1em 2em;
    cursor: pointer;
}
/* ------------------------------------------------------------------ */
/* Gravity Forms — match the TreeTech Pill CTA button style.           */
/* Values flow from the Divi Variable Library (gvid/gcid tokens) with  */
/* the token's own value as fallback for pages where Divi doesn't emit */
/* the variable. body-prefix wins over GF's framework defaults.        */
/* ------------------------------------------------------------------ */
body .gform-theme.gform-theme--framework {
	/* brand color mapping (mirrors the DiviMCP css-bridge output, inlined so
	   production works without the dev bridge plugin) */
	--gf-color-primary: var(--gcid-brand-primary, #0daf4b);
	--gf-color-primary-darker: var(--gcid-brand-primary-dark, #0a8f3d);
	--gf-ctrl-label-color-primary: var(--gcid-body-color, #111111);
	--gf-ctrl-btn-bg-color-primary: var(--gcid-brand-primary, #0daf4b);
	--gf-ctrl-btn-radius: var(--gvid-number-radius-pill, 100px);
	--gf-ctrl-btn-font-size: var(--gvid-number-fnt-size-cta, 17px);
	--gf-ctrl-btn-font-weight: 500;
	--gf-ctrl-btn-letter-spacing: 1px;
	--gf-ctrl-btn-text-transform: uppercase;
	--gf-ctrl-btn-padding-x: 25px;
	--gf-ctrl-btn-padding-y: 13px;
	--gf-ctrl-btn-bg-color-hover-primary: var(--gcid-white, #ffffff);
	--gf-ctrl-btn-color-hover-primary: var(--gcid-black, #000000);
	--gf-ctrl-btn-border-color-hover-primary: var(--gcid-white, #ffffff);
}
