/* 
 Theme Name:     Divi Engineering Divi Child Theme
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.0
 Description:    A Divi Child Theme 
*/ 


/* ----------- PUT YOUR CUSTOM CSS BELOW THIS LINE -- DO NOT EDIT ABOVE THIS LINE --------------------------- */

/* ########################### */
/* ###### CHANGE COLORS ###### */
/* ########################### */

/* ### Vertical line with dot ### */
.dot-right-bottom:after,
.dot-left-top:after,
.dot-left-bottom:after,
.dot-right-top:after,
.sub-page-dot.dot-right-bottom:after {
    color: #15a800 !important; /* Dot color */
}

/* ### Border bottom line dropdown menu ### */
.de-custom-menu .nav li li {
    border-top: 1px solid rgba(0, 0, 1, 0.1); /* Border line color */
}
.header-v2 .de-custom-menu .nav li li,
.header-v3 .de-custom-menu .nav li li,
.header-v4 .de-custom-menu .nav li li {
    border-top: 1px solid rgba(255, 255, 255, 0.2); /* Border line color */
}

/* #### Collapsing Mobile Menu #### */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	color: #15a800; /* Icon color */
	background: #f1f1f1; /* Icon background color */
}

/* ### Slide icons color - home page ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	background-color: #15a800; /* Background icon */
	border: 1px solid #0091d7; /* Border icon */
    color: #fff; /* Icon color */
}
.slide-active .et_pb_icon_wrap .et-pb-icon,
.slide-icon:hover .et_pb_icon_wrap .et-pb-icon {
	color: #fff !important; /* Icon hover color */
}

/* ### Service card V2 ### */
.card-overlay-triangle:before { background-color: #15a800; }
.active-card-v2 .service-card-v2:before { background-color: rgb(0 118 168 / 74%); }
.card-overlay-triangle:after {
	content: "Learn More";
    color: #001954;
}

/* ### Person module ### */
.person-module .et_pb_member_social_links { background-color: #15a800; }
.person-module .et_pb_team_member_image:before {
	content: "Learn more";
	background-color: rgb(0 35 90 / 74%);
    color: #fff;
}

/* ### Blog fullwidth ### */
.blog-fullwidth article { border-bottom: 5px solid #15a800 !important; }
.blog-sidebar .et_pb_widget {
    border-bottom: 5px solid #15a800;
	background-color: #fff;
}
.blog-sidebar .et_pb_widget ul li::before { color: #15a800; }

/* ### Header V2 ### */
.header-v2 .header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    border-left: 1px solid #767676;
}

/* ### Header V4 ### */
.header-v4 .de-custom-menu li.current-menu-item,
.header-v4 .de-custom-menu li:hover { background-color: #15a800; }
.header-v4 .de-custom-menu.et_pb_menu ul li.current-menu-item a,
.header-v4 .de-custom-menu.et_pb_menu ul li:hover a {
	color: #fff !important; opacity: 1;
}

/* ### Slide-in scrollbar ### */
#style-scrollbar::-webkit-scrollbar-track,
#style-scrollbar::-webkit-scrollbar { background-color: #F5F5F5; }
#style-scrollbar::-webkit-scrollbar-thumb { background-color: #15a800; }

/* ### Menu ### */
.header-menu .et_pb_menu_inner_container { height: 100%; }
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0; border-left: 1px solid #e1e1e1; padding: 0 30px;
}
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a { align-self: center; }
.header-column { display:flex; }
.header-menu { display:flex; align-items:center; }
.de-custom-menu, .et_pb_menu_inner_container { width:100%; }
.blurb-header-phone .et_pb_blurb_content { display:flex; justify-content:flex-end; align-items:center; }
.blurb-header-phone .et_pb_main_blurb_image { margin-bottom:0; }
.blurb-header-phone h4.et_pb_module_header { padding-bottom:0; }
.top-custom-header { display:flex; align-items:center; }
@media (max-width:980px){ .de-custom-menu.et_pb_menu .et_mobile_nav_menu{ float:right; } }
.header-slide-in-icon .et_pb_icon_wrap{ height:100%; display:flex; align-items:center; }
.hero-home-column-1{ -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.de-custom-menu .et-menu li li.menu-item-has-children>a:first-child:after{ top:12px !important; }

/* ### Menu header V4 ### */
.header-v4 .de-custom-menu li{ transition: all .2s ease-in-out; }
.header-v4 .de-custom-menu{ padding-right:0 !important; }

/* ########## Dropdown menu ########### */
.de-custom-menu.et_pb_menu .et-menu-nav>ul ul{ padding:0 !important; border-radius:8px; }
.de-custom-menu .nav li li{ padding:0 !important; }
.de-custom-menu .nav li ul{ width:240px; }
.de-custom-menu .et-menu li li a{ width:240px !important; padding:12px 20px; font-size:14px !important; }
.de-custom-menu .nav li li:last-child{ border-bottom:1px solid rgba(255,255,255,.2); }
.de-custom-menu .fas{ padding-right:10px; }

/* ### General ### */
@media (max-width:980px){ .remove-margin-column{ margin-bottom:0 !important; } }

/* ### Logos row ### */
@media (min-width:981px){ .logos-row{ display:flex; align-items:center; } }

/* ### Circle counter percent ### */
.circle-counter-percent .percent-sign{ font-size:26px; }

/* ### Projects special section ### */
@media (min-width:981px){
  .project-special-section .et_pb_column.et_pb_column_1_2>.et_pb_row_inner.et_pb_gutters2>.et_pb_column_1_4,
  .project-special-section .et_pb_gutters2 .et_pb_column_1_2>.et_pb_row_inner>.et_pb_column_1_4 { width:49.25%; margin-right:1.5%; }
  .project-special-section .et_pb_gutters2 .et_pb_column_1_2, .project-special-section .et_pb_gutters2.et_pb_row .et_pb_column_1_2 { width:49.65%; margin-right:.7%; }
  .project-overlay:before{
    content:''; position:absolute; top:0; left:0; width:100%; height:100%;
    opacity:0; transition: all .2s ease-in-out; background-color: rgb(0 0 0 / 43%);
  }
  .project-overlay:hover:before{ opacity:1; }
}

/* ### Projects section 2 columns ### */
@media (min-width:981px){
  .project-row.et_pb_gutters2 .et_pb_column_1_2, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_2 { width:49.75%; }
  .project-row.et_pb_gutters2 .et_pb_column, .project-row.et_pb_gutters2.et_pb_row .et_pb_column { margin-right:.5%; }
}

/* ### Projects section 4 columns ### */
@media (min-width:981px){ .project-row.et_pb_gutters2 .et_pb_column_1_4, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_4{ width:24.625%; } }

/* ### Projects section 5 columns ### */
@media (min-width:981px){ .project-row.et_pb_gutters2 .et_pb_column_1_5, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_5{ width:19.6%; } }

/* ### Projects overlay columns ### */
.project-row .et_pb_column:before{
	content:''; position:absolute; top:0; left:0; width:100%; height:100%;
	opacity:0; z-index:-1; transition: all .2s ease-in-out; background-color: rgb(0 0 0 / 43%);
}
.project-row .et_pb_column:hover:before{ opacity:1; }

/* ### Custom slider ### */
/* Icons */
.slide-active .et_pb_icon_wrap, .slide-icon:hover .et_pb_icon_wrap{ cursor:pointer; }
.slide-icon .et_pb_icon_wrap{ transition: all .2s ease-in-out; }
.icon-row{ display:flex; flex-wrap:wrap; }
#slider-icon-row .slide-icon{ margin-left:0 !important; margin-right:20px !important; }
/* Text */
.slider-text{ display:none; }
.slider-text.active-slide-text{ display:block; }
/* Image */
.slider-image{ position:absolute; visibility:hidden; opacity:0; }
.slider-image.active-slide-image{ visibility:visible; opacity:1; position:relative; }

/* ### Service cards ### */
.service-card-blurb-v1{ position:absolute; bottom:-125px; transition: all .4s ease-in-out; }
.active-card-blurb-v1 .service-card-blurb-v1{ bottom:0; }

.card-overlay-triangle:before{
	content:""; width:100%; height:100%; position:absolute; top:-70%; right:-70%; z-index:9;
	transform: rotate(45deg); transition: all .4s ease-in-out;
}
.active-card-v2 .service-card-v2:before{ width:300%; height:300%; }
.card-overlay-triangle:after{
	font-size:18px; font-weight:900; width:100%; height:100%; position:absolute; left:0; top:0;
	display:flex; align-items:center; justify-content:center; z-index:10; opacity:0; transition: all .4s ease-in-out;
}
.active-card-v2 .service-card-v2:after{ opacity:1; }

.service-card-blurb-v3{ position:absolute; top:100%; margin-top:-8px; height:100%; display:flex; align-items:center; transition: all .4s ease-in-out; }
.active-card-blurb-v3 .service-card-blurb-v3{ top:0; margin-top:0; }

.project-blurb{ position:absolute; top:100%; margin-top:-8px; height:100%; display:flex; align-items:center; transition: all .4s ease-in-out; }
.active-project .project-blurb{ top:0; margin-top:0; }

@media (min-width:981px){
  .project-5-column.et_pb_gutters1 .et_pb_column_1_5, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column_1_5 { width:19.68%; }
  .project-5-column.et_pb_gutters1 .et_pb_column, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column { margin-right:.4%; }
}

/* ### Person module details ### */
.person-module .et_pb_member_social_links{
	position:absolute; bottom:0; left:0; width:100%; padding:5px 20px 0 20px;
	visibility:hidden; z-index:-999; transition: all .4s ease-in-out;
}
.person-module:hover .et_pb_member_social_links{ bottom:-32px; visibility:visible; z-index:1; }
.et_pb_team_member_description{ padding:10px 20px; }
.et_pb_team_member_description h4.et_pb_module_header{ padding-bottom:0; }
.person-module .et_pb_team_member_image:before{
	font-size:18px; font-weight:900; width:100%; height:100%; position:absolute; left:0; top:0;
	display:flex; align-items:center; justify-content:center; z-index:10; opacity:0; transition: all .4s ease-in-out;
}
.person-module:hover .et_pb_team_member_image:before{ opacity:1; }

/* ### Blurbs under hero ### */
@media (max-width:479px){ .blurbs-hero .et_pb_blurb_container{ padding-left:6px !important; } }

/* ### Blog sidebar ### */
.blog-fullwidth article{ padding-bottom:45px; }
.blog-sidebar .et_pb_widget{ padding:25px; box-shadow:0 0 30px 5px rgb(0 0 0 / 10%); border-radius:3px; }
.blog-sidebar .et_pb_widget ul li::before{
	content:"\25a0"; font-weight:bold; display:inline-block; width:1.5em; margin-left:-1.5em; margin-top:-2px; float:left;
}
.blog-sidebar.et_pb_widget_area ul{ margin:0 0 1.5em 1.5em !important; }

/* #### Collapsing Mobile Menu (behavior) #### */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after{
	top:10px; position:relative; font-family:"ETModules"; content:'\33'; border-radius:50%; padding:3px;
}
ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after{ content:'\32'; }
.et_mobile_menu .menu-item-has-children>a{ font-weight:500 !important; }
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon{
	width:44px; height:100%; padding:0 !important; max-height:44px; border:none; position:absolute; right:0; top:0; z-index:999; background:transparent;
}
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children{ position:relative; }
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a{ background:transparent; }
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu{ display:none !important; visibility:hidden !important; }
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible{ display:block !important; visibility:visible !important; }
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon{ text-align:center; opacity:1; }

/* ### Responsive tweaks ### */
@media (min-width:981px) and (max-width:1200px){ .hero-home-column-1{ padding:35px !important; } }
@media (min-width:1201px) and (max-width:1500px){ .hero-home-column-1{ padding:75px !important; } }
@media (min-width:981px) and (max-width:1500px){ .hero-home-column-1 h1{ font-size:54px !important; } }
@media (min-width:981px) and (max-width:1100px){
  .header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li{ padding:0 20px !important; }
}

/* ### Single service page ### */
@media (min-width:981px) and (max-width:1400px){
  .single-service-column-2{ padding:20px !important; }
  .single-service-column-2 .et_pb_blurb_description p{ font-size:18px !important; }
  .single-service-column-2 .et_pb_blurb_0 .et_pb_main_blurb_image .et_pb_image_wrap{ width:50px !important; }
}

/* ### Project page ### */
@media (min-width:981px) and (max-width:1400px){
  .project-column .et_pb_blurb.project-blurb{ padding-right:20px!important; padding-left:20px!important; }
  .project-column .et_pb_blurb.project-blurb .et_pb_blurb_description{ font-size:12px; line-height:1.5; }
  .project-column .et_pb_blurb.project-blurb .et_pb_main_blurb_image{ display:inline-block; margin-bottom:10px; }
}
@media (max-width:980px){
  .circle-counter-row .et_pb_column_1_6{ width:100% !important; margin-right:0 !important; margin-bottom:30px !important; }
}

/* ### Dots ### */
.dot-right-bottom:after{ content:'\25CF'; font-size:20px; position:absolute; right:-7px; top:65px; }
.dot-left-top:after{ content:'\25CF'; font-size:20px; position:absolute; left:-7px; top:-15px; }
.dot-left-bottom:after{ content:'\25CF'; font-size:20px; position:absolute; left:-7px; top:65px; }
.dot-right-top:after{ content:'\25CF'; font-size:20px; position:absolute; right:-7px; top:-15px; }
.sub-page-dot.dot-right-bottom:after{ content:'\25CF'; font-size:20px; position:absolute; right:-7px; top:15px; }

.et-l--footer .et_builder_inner_content{ z-index:99999; }
.slide-in-section .custom-menu-v1-row:before{ content:""; background:#000; position:absolute; width:100%; height:100%; top:0; left:0; }

/* ### Style scroll bar ### */
#style-scrollbar::-webkit-scrollbar-track{ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); border-radius:0; }
#style-scrollbar::-webkit-scrollbar{ width:10px; }
#style-scrollbar::-webkit-scrollbar-thumb{ border-radius:10px; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); }

.custom-menu-v1-row{ overflow:hidden; transform:translateX(100%); transition: all .3s ease; opacity:1; }
.custom-menu-v1-row.active-menu-v1{ overflow:hidden; transform:translateX(0); transition: all .3s ease; opacity:1; }
@media (max-width:980px){ .menu-v1-desktop-column{ height:100vh; } }

/* ### Hide on visual builder ### */
.et-fb .slide-image-2,
.et-fb .slide-image-3,
.et-fb .slide-image-4,
.et-fb .slide-image-5,
.et-fb .slide-image-6{ display:none; }

/* ===========================================================
   SKY CLIMBER RENEWABLES – MODERN BASE FOR DIVI
   Author: DiFranco, C. | Safe, incremental overrides
   =========================================================== */

/* ===============================
   Divi Row Width — safe defaults
   (respects Builder edits; excludes header/footer)
   =============================== */

:root{
  --container-max: 1170px;
  --container-pct: 90%;
  --gutter: 20px; /* mobile side padding for header/footer rows */
}

/* 1) Default constraint for normal sections (no !important) */
.et_pb_section > .et_pb_row{
  max-width: var(--container-max);
  width: min(var(--container-max), var(--container-pct));
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* 2) Respect anything you set inline in the Builder
   (inline styles still win; this just removes the cap if you've set one) */
.et_pb_section > .et_pb_row[style*="width"],
.et_pb_section > .et_pb_row[style*="max-width"]{
  max-width: none;
  /* leave width alone so the inline style takes precedence */
}

/* 3) Never constrain Fullwidth or Specialty sections */
.et_pb_fullwidth_section > .et_pb_row,
.et_section_specialty > .et_pb_row{
  max-width: none;
  width: 100%;   /* was auto → caused left hugging */
}

/* 4) EXCLUDE Theme Builder header/footer so they keep their gutters */
.et-l--header .et_pb_row,
.et-l--footer .et_pb_row{
  max-width: none;
  width: 100%;   /* was auto → caused footer align-left on mobile */
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* Optional: a bit more padding on larger screens for header/footer */
@media (min-width: 981px){
  :root{ --gutter: 32px; }
}

/* 5) Utilities you can add per row/section via “CSS Class” in Divi */

/* a) Make a row full-width inside its section (good for blog hero rows) */
.row-full{
  max-width: none !important;
  width: 100% !important;    /* was auto */
}

/* b) Truly bleed to viewport edges (add to the SECTION) */
.section-bleed{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.section-bleed > .et_pb_row{
  max-width: none !important;
  width: 100% !important;    /* was auto */
  margin: 0 !important;
}