/*
 Theme Name: Divi Child
 Description: Child theme for Divi 5
 Template: Divi
 Version: 1.0.0
*/

/* Custom CSS goes below */

:root {
	
	--origBlue: #f3f6f9;
	
  /* ============================================
     SPACING
     ============================================ */
  
  --space-1: 0.25rem;    /* 4px */
  --space-2: 0.4375rem;  /* 7px */
  --space-3: 0.6875rem;  /* 11px */
  --space-4: 0.9375rem;  /* 15px */
  --space-5: 1.125rem;   /* 18px */
  --space-6: 1.375rem;   /* 22px */
  --space-7: 1.5625rem;  /* 25px */
  --space-8: 1.875rem;   /* 30px */
  --space-10: 2.25rem;   /* 36px */
  --space-12: 2.75rem;   /* 44px */
  --space-15: 3.5rem;    /* 56px */
  --space-16: 3.625rem;  /* 58px */
  --space-20: 4.5rem;    /* 72px */
  --space-24: 5.5rem;    /* 88px */
	
}


.et_pb_menu--style-left_aligned .et_pb_menu__logo {
    margin-right: var(--space-12);
}

.hero-text-col > .n2-ss-layer-col:before {
content: "";
    position: absolute;
    background: url(/wp-content/uploads/2025/11/blueprint-drawing.svg) no-repeat;
    width: 180%;
    height: 180%;
    background-size: 100% 100%;
    bottom: -85%;
    left: -85%;
	opacity:0.5;
}

.et_pb_menu .et-menu>li {
    padding-left: var(--space-5);
    padding-right: var(--space-5);
}

.grecaptcha-badge {
	display:none;
}





/* START - Typography ============================================ */

/* sizes */
body h1 { font-size: clamp(2.75rem, 2.10rem + 2.9vw, 5rem); }
body h2 { font-size: clamp(2.25rem, 1.75rem + 2.2vw, 3.5rem); }
body h3 { font-size: clamp(1.875rem, 1.45rem + 1.6vw, 2.5rem); }
body h4 { font-size: clamp(1.5rem, 1.20rem + 1.0vw, 2rem); }
body h5, body .et_pb_slide_content p { font-size: clamp(1.25rem, 1.10rem + 0.6vw, 1.5rem); }
body h6 { font-size: clamp(1.0625rem, 1.00rem + 0.25vw, 1.125rem); }
body p  { font-size: clamp(1rem, 0.96rem + 0.25vw, 1.0625rem);}

/* line heights */
body h1 { line-height: clamp(1.05, 1.10, 1.12); }
body h2 { line-height: clamp(1.06, 1.12, 1.14); }
body h3 { line-height: clamp(1.08, 1.14, 1.18); }
body h4 { line-height: clamp(1.10, 1.18, 1.22); }
body h5 { line-height: clamp(1.12, 1.22, 1.26); }
body h6 { line-height: clamp(1.14, 1.26, 1.30); }
body p  {line-height: clamp(1.55, 1.65, 1.75);}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu a {
	line-height: clamp(1.1, 1.3, 1.5);
}


h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
	font-weight: 600;
} 


.light-text h1,
.light-text h2,
.light-text h3,
.light-text h4,
.light-text h5,
.light-text h6 {
    color:#ffffff;
}
.light-text,
.light-text p,
.light-text li {
    color: rgb(255 255 255 / 90%);
}



/* END - Typography ============================================ */


/* START - Typography ============================================ */

#custom-header {
	
}

#custom-header-nav {
	
}


/* END - Typography ============================================ */





/* START - Header ============================================ */

#custom-header .et_pb_row .et_pb_column:first-child {
	flex: 1 0 auto;
	width: auto;
}

#custom-header .et_pb_row .et_pb_column:last-child {
	flex: 0 0 auto;
    width: auto;
	justify-content: center;
	z-index:999;
}


#custom-header .header-phone .et_pb_image_wrap {
	width: 60px;
    height: 60px;
    background: #16212D;
    display: flex;
    align-items: center;
    justify-content: center;
}
#custom-header .header-phone .et_pb_image_wrap:hover {
    background: #2c7ef4;
}
#custom-header .header-phone .et_pb_image_wrap img {
	width: 25px;
	filter: invert(100%) sepia(1%) saturate(3119%) hue-rotate(297deg) brightness(114%) contrast(88%);
}

body #custom-header .header-phone .et_pb_image_wrap {
	background: #2c7ef4;
}
body #custom-header .header-phone .et_pb_image_wrap:hover {
	background: #7488a8;
}

#custom-header.et_pb_sticky .et_pb_menu__logo-wrap {
	margin-top: 15px;
    margin-bottom: 15px;
}
#custom-header .et_pb_menu__logo-wrap img {
	height: 64px;
}

#custom-header.et_pb_sticky .header-phone .et_pb_image_wrap  {
	width: auto;
    height: auto;
/*      background: rgb(116 136 168 / 0%);  */
    padding: 12px;
	margin-right: 15px;
}
#custom-header.et_pb_sticky .header-phone .et_pb_image_wrap img  {
	    width: 20px;
}
#custom-header.et_pb_sticky .et_pb_row .et_pb_column:last-child {
    justify-content: center;
}
#custom-header.et_pb_sticky .header-phone .et_pb_image_wrap:hover  {
	background: rgb(116 136 168 / 100%);	
}
@media only screen and (max-width: 980px) and (min-width:351px) {

	#custom-header:not(.et_pb_sticky) .et_pb_menu_inner_container {
		padding-bottom: 20px;	
	}
	.custom-header-nav .et_pb_menu__wrap {
		margin-right: 75px;
	}

	#custom-header .et_pb_row .et_pb_column:last-child {
        position: absolute;
		right: 0px;
		height: 115px;
    	padding-right: 25px;
	}
	#custom-header .header-phone {
		padding: 0px;
	}
	#custom-header .header-phone .et_pb_image_wrap  {
		width: auto;
		height: auto;
/* 		background: rgb(44 126 244 / 0%); */
		padding: 12px;
		margin-right: 15px;
		margin-right: 0px;
	}
	#custom-header .header-phone .et_pb_image_wrap img  {
			width: 25px;
	}

	#custom-header .header-phone .et_pb_image_wrap:hover  {
		background: rgb(44 126 244 / 100%);	
	}
	#custom-header.et_pb_sticky .et_pb_row .et_pb_column:last-child {
        position: absolute;
        right: 0px;
        height: 95px;
        padding-right: 2px;
    }
	
}

@media only screen and (max-width: 350px) {
	#custom-header .et_pb_row .et_pb_column:last-child {
		display:none;
	}
}


/* END - Header ============================================ */





/* START - Buttons ============================================ */

body .et_pb_button {
	line-height: 1.3em !important;	
	font-weight: 500 !important;
}

body .et_pb_button:after {
	right: -25px;
}

body form.et_pb_contact_form button[type="submit"],
body form.et_pb_contact_form button[type="submit"]:hover {
	padding: 12px 30px !important;
}


/* END - Buttons ============================================ */




/* START - Homepage ============================================ */

/* Buckets */
.bucket-icon-left {
	display: flex;
    border: 1px solid #ededed;
	gap: 0px;
	height: 100%;
}

.bucket-icon-left > div:first-child {
    background: var(--origBlue);
    width: 148px;
    max-width: 25%;
    align-items: center;
	justify-content:center;
    display: flex;
    padding: min(8%, 30px);
	flex: 1 0 auto;
}
.bucket-icon-left .et_pb_image_wrap {
    display: flex;
    align-items: center;
    justify-content: center;	
	
}
.bucket-icon-left .et_pb_image img {
	height: 50px
}

.bucket-icon-left > div:last-child{
	padding: 50px;
	padding: min(8%, 50px);
	max-width: 75%;
}
@media only screen and (max-width: 980px) {
	.bucket-icon-row .et_pb_column {
		 width: 100%;
	}
}




/* start - H scrolling gallery ------------------------ */

.scroll-gallery.et_pb_section {
	
}

.scroll-gallery .et_pb_row {
    width: 100%;
    max-width: 100% !important;	
}

/* ---- */

.scrolling-wrapper {
    overflow: hidden;
    width: 100%;
}

.scrolling-content {
    display: flex;
    gap: 25px; /* spacing between images */
    flex-wrap: nowrap;
}

.scrolling-content img {
    height: 20vw;
    flex-shrink: 0;
	object-fit: contain; /* preserves image aspect ratio */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

@media (max-width: 768px) {
    .scrolling-content img {
        height: 40vw;   /* wider on small screens */
    }
}



/* end - H scrolling gallery ------------------------ */

/* start - V scrolling gallery ------------------------ */

.vscroll-wrapper {
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.vscroll-content {
    display: flex;
    flex-direction: column;
    gap: 2vw;
    will-change: transform;
}

.vscroll-content img {
    width: 25vw;
    flex-shrink: 0;
    object-fit: contain;
	-webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

@media (max-width: 768px) {
    .vscroll-content img {
        width: 45vw;
    }
}


/* end - V scrolling gallery ------------------------ */

.projects-preview.et_pb_section {
	overflow: hidden;	
}

.projects-preview .et_pb_row {
    display: flex;
    width: calc(100% + 80px) !important;
    max-width: none !important;
}

.projects-preview .et_pb_column:nth-child(1) {
    width: auto;	
}
.projects-preview .et_pb_column:nth-child(2) {
	flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10vw 50px;
}

.projects-preview .et_pb_column:nth-child(2) h1 strong {
	white-space: nowrap;
}


.projects-preview .et_pb_column:nth-child(3) {
    width: auto;	
}


@media (max-width: 980px) {
	.vscroll-wrapper {
    	min-height: 100%;
	}
	.projects-preview .et_pb_row {
		width: calc(100% + 0px) !important;
	}

	.projects-preview .et_pb_column:nth-child(1) {
		display:none;	
	}

	.projects-preview .et_pb_column:nth-child(2) {
        flex: 1 1;
        padding: 10vw 30px;
        width: 75%;
	}
	.projects-preview .et_pb_column:nth-child(3) {
        flex: 1 1;
        max-width: 25%;
	}

}

@media (max-width: 767px) {
	.projects-preview .et_pb_column:nth-child(3) {
        display:none;
	}
}






/* Testimonial */

.testimonial-slider .et_pb_slide_description {
	text-shadow: none !Important;
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
	padding: 0px;	
	padding-bottom: 100px;
}

.testimonial-slider .et-pb-controllers .et-pb-active-control {
	background-color:#2c7ef4 !Important;
}
@media (max-width: 767px) {
	.testimonial-slider .et_pb_slide_description {
		padding-bottom: 60px;
	}
}




/* END - Homepage ============================================ */


/* START ---------------------------- FOOTER --------------------------- */

#custom-footer {
	padding: 100px 75px;
}

#custom-footer .et_pb_row {
    width: 100%;
    max-width: 100%;
    gap: 0px;
}
#custom-footer .et_pb_row .et_pb_column:first-child {
	flex: 2 1;
    padding-right: 40px;
}
#custom-footer .et_pb_row .et_pb_column:not(:first-child) {
	border-left: 1px solid rgb(255 255 255 / 15%);
    padding-left: 25px;
    padding-right: 40px;
    flex: 1 1;
    min-width: 250px;
}
#custom-footer .et_pb_row .et_pb_column:last-child {
    padding-right: 0px;
}

.office-info {
	display: flex;
    gap: 10px;
    align-items: flex-start;
	margin-bottom:14px;
	padding-left: 0px;
}
.office-info img {
	width: 30px;
    filter: invert(38%) sepia(69%) saturate(2215%) hue-rotate(201deg) brightness(98%) contrast(95%);
    top: -5px;
    position: relative;
}

/* footer links*/

.footer-nav a {
	color: rgb(255 255 255 / 90%) !important;
}
.footer-nav .menu {
	padding-left: 0px;
}
.footer-nav .menu li {
    list-style: none;
    margin-bottom: 10px;
    position: relative;
    padding-left: 34px;
    line-height: 1.5em;
}
.footer-nav .menu li a:hover {
	color:#2c7ef4 !important;
}

.footer-nav .menu li:before  {
	content: "";
    display: block;
    background: #2c7ef4;
    width: 8px;
    height: 8px;
    position: absolute;
    left: 10px;
    top: 8px;
    z-index: -999;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px;
}

.copyright p {
	font-size:unset;
}

@media (max-width: 1300px) {
	#custom-footer {
    	padding: 80px 70px;
	}
	#custom-footer .et_pb_row .et_pb_column:not(:first-child) {
        flex: 0 1 auto;
        width: auto;
        min-width: auto;
        max-width: 320px;
	}	
}

@media (max-width: 980px) {
	#custom-footer .et_pb_row {
        flex-direction: column;
        gap: 0px;
	}
	#custom-footer .et_pb_row .et_pb_column:first-child {
		width: 100%;
		margin-bottom: 50px;
	}
	#custom-footer .et_pb_row .et_pb_column:not(:first-child) {
		border: none;
        padding: 0px;
		width: 100%;
	}	
}




/* END ---------------------------- FOOTER --------------------------- */


/* START ---------------------------- GLOBAL --------------------------- */

.image-cover img {
    object-fit: cover;
	width:100% !important;
}

/* END ---------------------------- GLOBAL --------------------------- */


/* START ---------------------------- 404 page --------------------------- */

/* Divi 5 404: make page a flex column so footer can't be pushed past viewport */
body.error404 .et-l.et-l--body > *{
  position: relative;
  z-index: 1;
}

body.error404,
body.error404 #page-container,
body.error404 #et-boc,
body.error404 #et-main-area,
body.error404 #main-content {
  height: 100%;
  min-height: 100vh;
}

body.error404 #page-container {
  display: flex;
  flex-direction: column;
}

body.error404 #et-boc {
  flex: 1;
  display: flex;
  flex-direction: column;
}

body.error404 #et-main-area,
body.error404 #main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

body.error404 .et-l.et-l--body {
    min-height: 100vh;
	background: linear-gradient(
    to bottom,
    rgba(24, 39, 81, 0.55) 0%,
    rgba(24, 39, 81, 0.8) 100%
  ),url(/wp-content/uploads/2026/02/DJI_20251117121531_0034_D.jpeg) no-repeat center;
	background-size:cover;
    display: flex;
    align-items: center;
	overflow: hidden;
}

body.error404 .et_builder_inner_content {
	width: 100%;
}

body.error404 .et-l.et-l--body:after {
content: "";
    position: absolute;
    background: url(/wp-content/uploads/2025/11/blueprint-drawing.svg) no-repeat;
    background-size: 180% 180%;
    background-position: left bottom;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
    inset: 0;
} 


/* END ---------------------------- 404 page --------------------------- */

.flex-group-wrap {
	
}


.industry-cta .et_pb_text {
	position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 999;
    padding: 20px;
    width: 100%;
}
.industry-cta .et_pb_text h5 {
	padding-bottom:0px;	
}
.industry-cta.et_pb_image .et_pb_image_wrap:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgb(24 39 81 / 50%);
    z-index: 999;
}
.industry-cta.et_pb_image .et_pb_image_wrap:hover:before {
    background: rgb(255 174 75 / 50%);
}




