/*
 Theme Name: WMA Child Theme
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme created by Walker Media Agency
 Author: Walker Media Agency
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 2.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

html {
    font-size: 18px; /* 1rem = 18px */
}

header .has_et_pb_sticky {
  border-bottom: 1px solid grey;
}

/* Non-home page header and masthead */
#header-with-shape.et_pb_sticky {
	z-index: 10009!important;
}
#header-with-shape .et_pb_row_0_tb_header {
	z-index: 10011;
}

#masthead-shape-bg {
	z-index: 10000;
	min-height: 410px;
}
.home-masthead.masthead-shape-bg:after,
#masthead-shape-bg:after {
	content: '';
	position: fixed;
	width: clamp(400px, 44vw, 549px);
	height: clamp(490px, 63vw, 650px);
	background-image: url(/wp-content/uploads/2025/12/shape-no-bg.svg);
	background-size: auto 100%;
	background-repeat: no-repeat;
	top: -30px;
	right: 0;
	z-index: 1;
}
.home-masthead.masthead-shape-bg:after {
	width: 50vw;
	height: 106vh;
	max-width: 710px;
}

@media (max-width: 980px) {
	
	#masthead-shape-bg:after {
		width: 90%;
		min-height: 100%;
	}
	
	.home-masthead.masthead-shape-bg:after {
		display: none;
	}
	
}


.home-masthead.masthead-shape-bg  ~ .et_pb_section,
#masthead-shape-bg ~ .et_pb_section {
	position: relative;
	z-index: 10001;
}

body:not(.home) footer {
	position: relative;
	z-index: 10000;
}

.et_pb_section_0_tb_header.et_pb_section {
	will-change: padding-block;
	transition: padding-block .2s linear;
	/* padding-block: 1rem!important; */
}

.et_pb_section_0_tb_header.et_pb_section.et_pb_sticky  {
	/* padding-block: .1rem!important; */
}

.home .et_pb_section_0_tb_header.et_pb_section .et_pb_row > .et_pb_column > .et_pb_image > .et_pb_image_wrap img {
	transition: max-height .2s linear;
	max-height: 200px;
	transform: translatey(-1rem);
}

.et_pb_section_0_tb_header.et_pb_section .et_pb_row > .et_pb_column > .et_pb_image.logo-white {
	z-index:1;
	opacity: 1;
}

.et_pb_menu_0_tb_header {
	position: relative;
	z-index: 1;
}
.home .et_pb_section_0_tb_header.et_pb_section .et_pb_row > .et_pb_column > .et_pb_image.logo-std {
	z-index: 0;
	opacity: 0;
	transition: all .2s linear;
}

.et_pb_section_0_tb_header.et_pb_section.et_pb_sticky > .et_pb_row > .et_pb_column > .et_pb_image > .et_pb_image_wrap img {
	max-height: 73px;
}
.et_pb_section_0_tb_header.et_pb_section.et_pb_sticky > .et_pb_row > .et_pb_column > .et_pb_image.logo-white {
	z-index:0;
	opacity: 0;
}
.home .et_pb_section_0_tb_header.et_pb_section.et_pb_sticky > .et_pb_row > .et_pb_column > .et_pb_image.logo-std {
	z-index:1;
	opacity: 1;
}
.value-card-section{
  margin-top: -170px;
}
.value-card-section {
	overflow: visible;
	background: linear-gradient(
	  to bottom,
	  rgba(118,120,126,0) 0%,         /* transparent */
	  rgba(118,120,126,0) 170px,      /* transparent space */
	  rgba(118,120,126,1) 170px,      /* hard edge: dark starts */
	  rgba(118,120,126,1) 170px,      
	  #CCCFD9 64%,
	  #D6DAE4 100%
	);
}
.home-value-card,
.value-card-content {
	flex: 1;
}
.home .logo-white {
	width: 100%;
}
.logo-white .et_pb_image_wrap {
  position: relative;
	overflow: visible;
}

.logo-white .et_pb_image_wrap::before,
.logo-white .et_pb_image_wrap::after {
	 content: "";
  	position: absolute;
  left: 0;
	width: 100%;
  max-width: 1350px;
	 height: 1px; 
	 transition: .72s all ease-in-out;
}
/* BLUE line (before) */
.logo-white .et_pb_image_wrap::before {
 
  bottom: 60px;                    
  background: #3F53A4;
 
}

/* RED line (after) */
.logo-white .et_pb_image_wrap::after {
 
  bottom: 56px;    
 
  background: #762B40;
}

.et_pb_sticky .logo-white .et_pb_image_wrap::after,
.et_pb_sticky .logo-white .et_pb_image_wrap::before {         
  width: 100%;
  max-width: 80px;
}


.home-value-card .et_pb_image_wrap {
	height: 170px;
}

.home-value-card .et_pb_module .et_pb_image_wrap > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.full-width-bottom-section {
	overflow: visible;
}

.full-width-bottom-section .img-container {
	overflow: visible;
	position: static;
}


/* Tablet and smaller (up to 980px) */
@media only screen and (max-width: 1200px) {
	
	.full-width-bottom-section,
	.full-width-bottom-section .copy-box {
		/*overflow: hidden;*/
		position: relative!important;
		height: auto;
		width:100%!important;
	}
	.full-width-bottom-section .img-container {
		height: 280px!important;
	}
	
	.image-copy-group {
		width: 100%!important;
		top: auto!important;
	}
}


.photo-caption-title {
	position: relative;
}
.photo-caption-title:after {
	content: '';
	display: block;
	width: 120px;
	height: 3px;
	background-color: #6892CC;
	margin-bottom: .1rem;
	margin-top: 1rem;
}


/* Contact form custom layout to override GF grid */
.contact-form-wrapper .gform_wrapper {
}

.contact-form-wrapper .gform_wrapper .gform_fields {
	grid-template-columns: 40% 5% 1fr;
	grid-auto-rows: 40px;
	grid-row-gap: 10px;
	grid-column-gap: 20px;
	grid-auto-columns: 0; /* optional: prevents extra implicit columns from taking space */
}

.contact-form-wrapper .gform_wrapper .ginput_container_text input[type="text"],
.contact-form-wrapper .gform_wrapper .ginput_container_email input[type="email"],
.contact-form-wrapper .gform-theme--foundation .gfield textarea {
    border: 1px solid #3F53A4;
    font-size: 1rem;	
    background: #fff;
    border-radius: 0!important;
	min-height: 40px;
}

.contact-form-wrapper .gform_wrapper .ginput_container_text input::placeholder,
.contact-form-wrapper .gform_wrapper .ginput_container_email input[type="email"]::placeholder,
.contact-form-wrapper .gform_wrapper .ginput_container_textarea input[type="textarea"]::placeholder{
    color: #6892CC;
    opacity: 1;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: .05rem;
}

.contact-form-wrapper .gform-theme--foundation .gfield textarea::placeholder{
    color: #6892CC;
    opacity: 1;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: .05rem;
}



.contact-form-wrapper .gform_wrapper .gform_footer input[type="submit"].gform_button {
position: relative !important;
  z-index: 1 !important;
  isolation: isolate; /* keeps your pseudo above Divi’s pseudo */
  min-height: 52px;
  justify-content: center;
	font-size: 16px!important;
   /* background: #000!important;
    color: #fff; 
    padding: 14px 28px;
    font-size: 1rem;
    font-weight: 600;
    border: 2px solid #3E53A3; */
	color: #3E53A3!important;
	background: #ffffff!important;
    border-radius: 0!important;
    cursor: pointer;
	min-height: 52px!important;
   
	text-transform: uppercase!important;
    transition: background 0.25s ease, color 0.25s ease;

    padding: 0.75em 2em!important; /* adjust for your layout */
    background-color: #fff; /* optional */
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
	
}

.contact-form-wrapper form {
	display: flex;
    flex-direction: column;
}
/* Target the wrapper */
.gform-footer.gform_footer.top_label {
    position: relative;   /* needed for pseudo-elements */
    display: inline-block; /* shrink-wrap to button */
	align-self: flex-end;
}

/* Outer border */
.gform-footer.gform_footer.top_label::before {
    
    content: "";
    position: absolute;
    inset: 0px;
    border: 2px solid #3E53A3;
    pointer-events: none;
    z-index: 2;
    width: 100%;
    height: 100%;
}

/* Inner border with gap */
.gform-footer.gform_footer.top_label::after {
    content: "";
    position: absolute;
    inset: 6px;           /* gap between outer & inner */
    border: 1px solid #6892CC;/* inner line */
    pointer-events: none;
    z-index: 1;
	transition: all .12s linear;
}

.gform-footer.gform_footer.top_label:hover::after {
	inset: 10px;  
}



.contact-form-wrapper .gform_wrapper .gform_footer input[type="submit"].gform_button:before {
	display: block!important;
  content: "";
  position: absolute;
  opacity: 1!important;
  inset: 3px;
  border: 1px solid #A5ABBD;  
	background-color: #fff;
  pointer-events: none;
  z-index: -1; /* behind the button content */
  transform: none!important;
}

@media (min-width: 640px) {
    .gform-theme--foundation .gfield--width-quarter {
        grid-column: span 2!important;
    }

	.gfield.gfield--type-section.gfield--input-type-section.gsection,
	.spacer.gfield {
		display: none !important;
	}
	.contact-form-wrapper .ginput_container.ginput_container_textarea {
		height: 100%!important;
		 
	}
	.contact-form-wrapper .gform-theme--foundation .gfield textarea.medium  {
		min-block-size: 100%;
		border-radius: 0!important;
	}
	
	
	
	.gfield.gfield--type-section.gfield--input-type-section.gsection ~ .gfield.gfield--type-textarea {
		
        grid-column: 3 / span 1!important;
        grid-row: 1 / span 5;
	}
	
	.contact-form-wrapper .gform_wrapper .gform-footer.gform_footer {
		grid-column: 3 / span 1!important;
			grid-row: 5 / span 1;
	}
}


/* Site button custom */
.et_pb_button {
	letter-spacing: .07rem!important;
}
.et_pb_button.btn-double-line,
.btn-double-line {
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate; /* keeps your pseudo above Divi’s pseudo */
  min-height: 52px;
  justify-content: center;
}
.et_pb_button.btn-double-line::before,
.btn-double-line::before {
	display: block!important;
  content: "";
  position: absolute;
  opacity: 1!important;
  inset: 3px;
  border: 1px solid #A5ABBD;  
  pointer-events: none;
  z-index: -1; /* behind the button content */
  transform: none!important;
}
.et_pb_button.btn-double-line:hover:before,
.btn-double-line:hover:before {
	inset: 6px;
}

.et_pb_button.btn-double-line.blue-and-white::before {
	border: 1px solid #6892CC;
}


/* Past Projects Custom Card Template Styling */
.past-projects-grid .company-cards-wrapper {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

 .past-projects-grid .company-cards-wrapper {
	 display: flex;
	 gap: 1rem;
}

@media (min-width: 1200px) {
  .past-projects-grid .company-cards-wrapper {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
	
	
}


.company-card {
	background-color: #414756;
	color: #ffffff;
	display: flex;
}

.company-card .card-content {
	flex: 1 60%;
	padding-top: 12px;
	padding-bottom: 3rem;
}
.company-card .card-photo {
	flex: 0 1 40%;
	display: flex;
}
.company-card .card-photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.company-card .company-headline {
	text-transform: uppercase;
	font-size: 42px;
	font-weight: 400;
	font-family: var(--et_global_body_font); /* rare instance of body font being the header */
}

.company-headline,
.company-description,
.company-touts {
	border-bottom: 1px solid #fff;
	padding: 1.5rem 2rem;
}

.company-headline,
.tout-stat h3,
.tout-label,
.company-card p {
	color: #ffffff;
}

.company-card .card-content p {
	font-size: 21px;
	line-height: 28px;
}

.company-touts {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	
}

.company-touts .tout-item {
	container-type: inline-size;
}
.company-touts .tout-item .tout-stat h3 {
	font-size:90px; 	
}

@container (max-width: 250px) {
  .company-touts .tout-item .tout-stat h3 {
    font-size: clamp(42px, 60cqi, 90px);
  }
}

.company-touts .tout-item {
	display:flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	text-align: center;
}



.company-touts .tout-item .tout-label {
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
}



/* Desktop / larger already handled, so we skip */

/* Tablet (up to desktop, usually 981px – 1350px in Divi) */
@media (max-width: 980px) {
 .value-card-section{
    margin-top: -120px; /* adjust to the thumbnail height for tablet */
	 background: linear-gradient(
	  to bottom,
	  rgba(118,120,126,0) 0%,         /* transparent */
	  rgba(118,120,126,0) 120px,      /* transparent space */
	  rgba(118,120,126,1) 120px,      /* hard edge: dark starts */
	  rgba(118,120,126,1) 120px,      
	  #CCCFD9 64%,
	  #D6DAE4 100%
	);
  }
	
	.home-value-card .et_pb_image_wrap {
		height: 120px;
	}
}

/* Mobile (usually 0 – 980px in Divi) */
@media (max-width: 767px) {
  .thumb-row {
    margin-top: -80px; /* adjust to the thumbnail height for mobile */
  }
}


.footer-link-list #menu-footer-link-menu-1 {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.footer-link-list #menu-footer-link-menu-1 a {
  position: relative;
  text-decoration: none;
  margin-bottom: 1rem;
  
}

.footer-link-list #menu-footer-link-menu-1 a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;          /* adjust as needed */
  width: 0;
  height: 2px;           /* underline thickness */
  background: #762C40;  /* uses the link color */
  transition: width 0.3s ease; 
}

.footer-link-list #menu-footer-link-menu-1 a:hover {
   opacity: 1;
}

.footer-link-list #menu-footer-link-menu-1 a:hover::after {
  width: 100%;
}