/* 
 Theme Name:     Divi Engineering Divi Child Theme
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.1
 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: #f75b13; /* Dot color */
}

/* ### Border bottom line dropdown menu ### */
.de-custom-menu .nav li li {
    border-top: 1px solid rgba(0, 0, 0, 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 */
}

/* #### Collaping 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: #f75b13; /* 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: #f75b13; /* Background icon */
	border: 1px solid #f75b13; /* 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: #f75b13; /* Background triangle */
}

.active-card-v2 .service-card-v2:before {
	background-color: rgb(255 94 20 / 74%); /* Background triangle when hovered */
}

.card-overlay-triangle:after {
	content: "Read more"; /* Read more text */
    color: #001954; /* Read more text color */
}

/* ### Person module ### */
.person-module .et_pb_member_social_links {
    background-color: #f75b13; /* Social link background color */
}

.person-module .et_pb_team_member_image:before {
	content: "Read more"; /* Read more text */
	background-color: rgb(0 35 90 / 74%); /* background overlay color */
    color: #fff; /* Read more text color */	
}

/* ### Blog fullwidth ### */
.blog-fullwidth article {
	border-bottom: 5px solid #f75b13 !important; /* Bottom border color */
}

.blog-sidebar .et_pb_widget {
    border-bottom: 5px solid #f75b13; /* Bottom border color */
	background-color: #fff; /* Widget background color */
}

.blog-sidebar .et_pb_widget ul li::before {
    color: #f75b13;	/* Widget list icon color */
}

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

/* ### Header V4 ### */
.header-v4 .de-custom-menu li.current-menu-item,
.header-v4 .de-custom-menu li:hover {
    background-color: #f75b13;	/* Background color */	
}

.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 /* Text color */;
	opacity: 1;
}

/* ### Slide-in scrollbar ### */
#style-scrollbar::-webkit-scrollbar-track,
#style-scrollbar::-webkit-scrollbar {
  background-color: #F5F5F5; /* Scroll bar color */
}

#style-scrollbar::-webkit-scrollbar-thumb {
  background-color: #f75b13; /* Scroll bar handle color */
}

/* ### END COLORS ### */

/* ### 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: 0px 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: 0px;
}

.blurb-header-phone h4.et_pb_module_header {
	padding-bottom: 0px;
}

.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 {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
}

.header-v4 .de-custom-menu {
	padding-right: 0px !important;
}

/* ########## Dropdown menu ########### */

.de-custom-menu.et_pb_menu .et-menu-nav>ul ul {
    padding: 0px 0 !important;
	border-radius: 8px;
}

.de-custom-menu .nav li li {
	padding: 0 0px !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, 0.2);
}

.de-custom-menu .fas {
	padding-right: 10px;
}

/* ### General ### */

@media (max-width: 980px) {
.remove-margin-column {
	margin-bottom: 0px !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: 0.7%;
}

.project-overlay:before {
	content: '';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	opacity:0;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s 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: 0.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;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
	background-color: rgb(0 0 0 / 43%);
}

.project-row .et_pb_column:hover:before {
	opacity:1;
} 

/* ### Custom slider ### */

/* ### Slide icons ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	cursor: pointer;
}

.slide-icon .et_pb_icon_wrap {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;	
}

.icon-row {
	display: flex;
	flex-wrap: wrap;
}

#slider-icon-row .slide-icon {
	margin-left: 0px !important;
    margin-right: 20px !important;	
}

/* ### Slide text ### */
.slider-text {
	display: none;
}

.slider-text.active-slide-text {
	display: block;
}

/* ### Slide image ### */
.slider-image {
	position: absolute;
	visibility: hidden;
  	opacity: 0;
}

.slider-image.active-slide-image {
	visibility: visible;
  	opacity: 1;
	position: relative;
}

/* ### Service card V1 ### */
.service-card-blurb-v1 {
	position: absolute;
    bottom: -125px;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v1 .service-card-blurb-v1 {
	bottom: 0px;
}

/* ### Service card V2 ### */
.card-overlay-triangle:before {
	content:"";
	width: 100%;
	height: 100%;
	position: absolute;
	top:-70%;
	right:-70%;
	z-index: 9;
	transform: rotate(45deg);
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s 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;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-v2 .service-card-v2:after {
	opacity:1;
}

/* ### Service card V3 ### */
.service-card-blurb-v3 {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v3 .service-card-blurb-v3 {
	top: 0%;
	margin-top:0px;
}

/* ### Service card V3 ### */
.project-blurb {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-project .project-blurb {
	top: 0%;
	margin-top:0px;
}

@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 ### */
.person-module .et_pb_member_social_links {
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
    padding: 5px 20px 0px 20px;
	visibility: hidden;
	z-index:-999;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s 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: 0px;
}

.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;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s 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 fullwidth ### */
.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;
}

/* #### Collaping 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 {
	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: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: 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-color: 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 from 981px ### */

@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: 0px 20px !important;
}}

/* ### Responsive from 981px - 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;
}}

/* ### Responsive from 981px - 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.5em;
}

.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: 0px !important;
	margin-bottom: 30px !important;
}}

/* ### Line dot - top left to right bottom ### */

.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-color: #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,0.3);
  border-radius: 0px;
}

#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;
}

/* ---- Footer newsletter signup image: square, top-aligned on phone ----
   The portrait 480x615 shot eats a lot of mobile height. A 1:1 box crops the
   bottom of the frame and `object-position: center top` keeps the subject's
   face, which a centred crop would cut into.

   Why this is CSS and not a Divi Image-module setting: the footer references
   the image through a `divi/global-layout` block (Global Library item 102933,
   "Request A Quote Image"). Divi emits no module CSS for that instance -
   setting `sizing.aspectRatio` / `fit.objectFit` on either the Global or the
   footer's own localAttrs copy changed the stored JSON but produced no rule on
   the frontend, verified at 6 phone widths. The footer renders on every page,
   so one child-theme rule is also the single source of truth.

   Scoped to the footer's own image module, so no other image is affected.
   980px is the breakpoint this footer row actually stacks at. */
@media (max-width: 980px) {
	.et_pb_image_0_tb_footer img {
		aspect-ratio: 1 / 1;
		height: auto;
		object-fit: cover;
		object-position: center top;
	}
}
