/*
 Theme Name:   Divi Child Theme From MP-Webdesign
 Theme URI:    https://www.elegantthemes.com/
 Description:  This child theme made by MP-Webdesign
 Author:       MP-Webdesign
 Author URI:   https://maxpruegner.com/
 Template:     Divi
 Version:      2.3.0
*/

/*-------------------Add any custom CSS below this line-------------------*/


.headshot-gallery .et_pb_gallery_items {
    width: fit-content;
}
.headshot-gallery .et_pb_gallery_item {
    width: fit-content;
    margin-right: -10px;
}

.image-zoom-effect:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background: inherit;
    pointer-events: none;
}
.et_pb_icon.hover-icon {
    transition: opacity 0.3s, transform 0.3s;
    opacity: 0;
    transform: scale(0.7);
}
.et_pb_column:hover .et_pb_icon.hover-icon {
    opacity: 1;
    transform: scale(1);
}
.image-zoom-effect img {
    transition: transform 0.8s cubic-bezier(.2, .7, .2, 1);
    will-change: transform;
}
.et_pb_column:hover .image-zoom-effect img {
    transform: scale(1.06);
}

.divider-text .et_pb_text_inner p:before {
    content: "";
    width: 22px;
    height: 2px;
    background: currentColor;
    display: inline-block;
    margin-right: 8px;
    top: -3px;
    position: relative;
}
.GH-highlight-text .et_pb_text_inner,
.et_pb_text.GH-number,
.et_pb_text.GH-number .et_pb_text_inner,
.et_pb_group.GH-card-item {
    transition: all .2s ease-in-out;
}
.et_pb_group.GH-card-item.active {
    border-color: var(--gcid-primary-color) !important;
    background: rgba(67, 209, 160, 0.07);
}

.GH-card-item.active .et_pb_text.GH-number,
.GH-card-item.active .et_pb_text.GH-number .et_pb_text_inner {
	background-color: var(--gcid-primary-color) !important;
	color: var(--gcid-vs00ojlepd) !important;
}
.GH-card-item.active .GH-highlight-text .et_pb_text_inner {
	color: var(--gcid-primary-color) !important;
}

.et_pb_image.fullhight-image, .et_pb_image.fullhight-image span {
    height: 100%;
}



.toggle-custom-style .et_pb_toggle_title {
    padding: 26px 50px 26px 28px !important;
}
.toggle-custom-style .et_pb_toggle_content {
    padding: 0px 50px 26px 28px;
}
.et_pb_toggle.et_pb_toggle_item.toggle-custom-style.et_pb_toggle_open {
    border-color: var(--gcid-primary-color) !important;
}

body #page-container .et_pb_section .custom-icon .et_pb_toggle_title:before {
    content: "+" !important;
    font-family: unset !important;
    font-size: 22px;
    top: 50% !important;
    transform: translateY(-50%);
    right: 23px;
    margin: 0;
    background: rgba(255, 255, 255, 0.07);
    aspect-ratio: 1/1;
    width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    padding: 0 1px 1px 0;
    transition: all .3s ease-in-out;
    color: rgb(159, 176, 188);
}
body #page-container .et_pb_section .custom-icon.et_pb_toggle_open .et_pb_toggle_title:before {
    transform: translateY(-50%) rotate(45deg);
    background: var(--gcid-primary-color);
    color: var(--gcid-vs00ojlepd);
}
body #page-container .et_pb_section .custom-icon:hover .et_pb_toggle_title:before {
    background: var(--gcid-primary-color);
    color: var(--gcid-vs00ojlepd);
}

.contact-blurbs .et_pb_main_blurb_image {
    min-width: 23px;
    display: flex;
    justify-content: center;
}

.animated-text .at-ch {
  opacity: 0.12;
  transition: opacity 0.15s linear;
}
.animated-text .at-ch.on {
  opacity: 1;
}
.at-caret {
  display: inline-block;
  width: 2px;
  height: 1.05em;
  margin-left: 1px;
  margin-right: -3px;
  vertical-align: -0.15em;
  background: #43D1A0;
  animation: atBlink 0.9s steps(1) infinite;
}
@keyframes atBlink { 50% { opacity: 0; } }



.show-labels  label.et_pb_contact_form_label {
    display: block !important;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
	color: var(--gcid-nn5nnro5nk)!important;
}
.show-labels .et_pb_contact_field {
    gap: 4px;
}
.c-form-style .et_contact_bottom_container {
    margin-left: 0 !important;
    margin-top: 20px;
}
.c-form-style .et_pb_field_module_checkbox span.et_pb_contact_field_options_title {
    display: none;
}

.c-form-style .et_contact_bottom_container {
    flex-wrap: wrap;
    gap: 20px;
}
body #page-container .et_pb_section .custom-button-icon .et_pb_button {
    margin-left: 0;
}
.show-labels .et_pb_contact_field[data-type=select]:after {
    top: calc(50% + 15px);
}

.footer-links a,
.c-menu-style .et_pb_menu__menu>nav>ul>li>a {
    position: relative;
	opacity: 1 !important;
}
.footer-links a:before,
.c-menu-style .et_pb_menu__menu>nav>ul>li>a:before {
    content: "";
    background: currentColor;
    position: absolute;
    width: 0;
    height: 2px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
	transition: all .2s ease-in-out;
}
.footer-links a:hover:before,
.c-menu-style .et_pb_menu__menu ul.et-menu.nav>li.current-menu-item:not(.not-in-viewport)>a:before,
.c-menu-style .et_pb_menu__menu ul.et-menu.nav>li>a:hover:before,
.c-menu-style .et_pb_menu__menu ul.et-menu.nav>li.in-viewport>a:before{
    width: 100%;
}
.c-menu-style .et_pb_menu__menu ul.et-menu.nav>li.in-viewport>a{
    color: var(--gcid-hlqfco0ntk)!important;
}
.footer-links a:before {
    height: 1px;
}
@media (max-width: 980px) {
	.et_pb_column:has(.et_pb_menu.c-menu-style), .et_pb_menu.c-menu-style, .et_pb_menu.c-menu-style .et_pb_menu_inner_container {
		position: static;
	}
}
@media (max-width: 767px) {
    div#header-button-wrap {
        visibility: hidden;
        z-index: -111;
        position: absolute !important;
    }
	.mobile-contact-button div#header-button-wrap {
        visibility: visible;
        z-index: 10;
        position: relative !important;
    }
}
li.menu-item.mobile-contact-button {
    padding-left: 5%;
	margin-top: 20px;
}

.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    height: fit-content;
    margin: auto;
}

header.et-l.et-l--header {
    position: relative;
    z-index: 99999;
}

.et_pb_button {
    position: relative;
}
.button-child {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    border-radius: inherit;
	pointer-events: none;
}
.button-child-inner{
    position: absolute;
    top: 0;
    left: -105%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    transition: all 0.5s ease;
	pointer-events: none;
	transform: skewX(10deg);
}
.et_pb_button:hover .button-child-inner{
    left: 105%;
}
.et_pb_button.transparent-button .button-child-inner {
    background: rgb(14 36 56 / 12%) !important;
}
.links-gap a {
    margin-bottom: 12px;
    display: inline-block;
}

.list-gap li:not(:last-child) {
    margin-bottom: 18px;
}
.colored-list ul ::marker {
    color: var(--gcid-primary-color)!important;
}



/* =========================================================
   CUSTOM TIMELINE
   Row:   .custom-timeline
   Items: .custom-timeline-item
========================================================= */

.custom-timeline {
    --tl-color: #43d5a8;
    --tl-light: rgba(255, 255, 255, 0.18);
    --tl-dot-size: 14px;
    position: relative;
}
.custom-timeline-ui {
    position: relative;
    width: 100%;
    pointer-events: none;
    z-index: 10;
}
.custom-timeline-track {
    position: absolute;
    background: var(--tl-light);
}

.custom-timeline-progress {
    position: absolute;
    background: var(--tl-color);
}
.custom-timeline-dot {
    position: absolute;
    width: var(--tl-dot-size);
    height: var(--tl-dot-size);
    box-sizing: border-box;
    border: 2px solid var(--tl-color);
    border-radius: 50%;
    background: #101719;
    transform: translate(-50%, -50%);
    z-index: 3;
    transition:
        width .3s ease,
        height .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}
.custom-timeline-dot.is-active {
    background: var(--tl-color);
    border-color: var(--tl-color);
}

.custom-timeline-dot.is-active:not(.is-complete) {
    width: 20px;
    height: 20px;
    animation:
        customTimelinePulse 1.6s ease-out infinite;
}

@keyframes customTimelinePulse {
    0% {
        box-shadow:
            0 0 0 0 rgba(67, 213, 168, 0.65);
    }
    70% {
        box-shadow:
            0 0 0 10px rgba(67, 213, 168, 0);
    }
    100% {
        box-shadow:
            0 0 0 0 rgba(67, 213, 168, 0);
    }
}

@media (min-width: 981px) {
    body:not(.et-fb) .custom-timeline {
        padding-top: 70px;
    }
    .custom-timeline-ui {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
    }
    .custom-timeline-track {
        top: 23px;
        height: 2px;
    }
    .custom-timeline-progress {
        top: 23px;
        height: 2px;
        width: 0;
    }
    .custom-timeline-dot {
        transform: translate(0, -50%);
    }
}

@media (max-width: 980px) {
    body:not(.et-fb) .custom-timeline {
        padding-left: 45px;
    }
    .custom-timeline-ui {
        position: absolute;
        top: 0;
        left: 0;
        width: 50px;
        height: 100%;
    }
    .custom-timeline-track {
        left: 23px;
        width: 2px;
    }
    .custom-timeline-progress {
        left: 23px;
        width: 2px;
        height: 0;
    }
    .custom-timeline-dot {
        left: 23px;
    }
}
.et_pb_group.custom-timeline-item {
	transition: .25s ease-in-out !important;
}
.et_pb_group.custom-timeline-item.is-active {
    background: #101A20;
    border-color: rgba(67,209,160,.5);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .45);
    transform: translateY(-8px);
}
.custom-timeline-item .CT-numbers .et_pb_text_inner,
.custom-timeline-item .CT-numbers {
    transition: all .2s ease-in-out;
}
.custom-timeline-item.is-active .CT-numbers {
    background: var(--gcid-primary-color);
    color: var(--gcid-vs00ojlepd) !important;
	transform: rotate(-8deg) scale(1.08);
}
.custom-timeline-item.is-active .CT-numbers .et_pb_text_inner {
    color: var(--gcid-vs00ojlepd) !important;
}
@media (max-width: 980px) {
	.custom-timeline-ui {
		top: 10px;
	}
}

body #page-container .et_pb_section .et_pb_button.fullwidth-button {
    width: 100% !important;
    max-width: unset;
    text-align: center;
}