/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* This sets the height on the Header */
header.elementor div.elementor-element.header_section {
    --header-height: 113px;
	--shrink-header-to: 0.85;
    --transition: .45s cubic-bezier(.4, 0, .2, 1);
    transition: background-color var(--transition),
                box-shadow var(--transition-timing);
}
@media only screen and (max-width: 1024px) {
    header.elementor div.elementor-element.header_section {
        --header-height: 103px;
		--shrink-header-to: 0.9;
    }
}

/* This sets the height on the Sticky Header when activated */
header.elementor div.elementor-element.header_section {
	min-height: var(--header-height);
	transition: min-height var(--transition);
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects {
	min-height: calc( var(--header-height) * var(--shrink-header-to) );
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects {
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.2);
	border-bottom: solid 1px var( --e-global-color-secondary );
}

/* This applies changes the color and applies a filter to the Sticky Header on Desktop resolutions */
@media only screen and (min-width: 1025px) {
	header.elementor div.elementor-element.header_section.elementor-sticky--effects {
		background-color: #0200148F;
		backdrop-filter: blur(40px);
	}
}

/* This removes the background color on the main navigation Header column for Tablet and Mobile resolutions */
@media only screen and (max-width: 1024px) {
	header.elementor div.elementor-element.header_section  div.elementor-element.header_menu_col {
		background-color: transparent;
	}
}

/* This changes the Logo height when the Sticky Header is activated
@media only screen and (min-width: 1025px) {
	header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo img {
		transform: scale(0.85);
	}
}
@media only screen and (max-width: 1024px) {
	header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo img {
		transform: scale(0.9);
	}
} */

/* This styles the Burger Menu toogle icon for the Header Menu on Tablet and Mobile resolutions */
.header_nav .elementor-menu-toggle > .e-font-icon-svg > path {
	visibility: none;
}
@media only screen and (max-width: 1024px) {
    div.header_menu_col div.elementor-element.header_nav {
        --gap: 8px;
        --width: 36px;
		--nav-menu-icon-size: 80px;
    }
}
.header_nav .elementor-menu-toggle {
    position: relative;
    background-color: transparent;
}
.header_nav .elementor-menu-toggle:before {
        --weight: 1px;
}
.header_nav .elementor-menu-toggle:after {
        --weight: 3px;
}
.header_nav .elementor-menu-toggle .e-font-icon-svg {
        --weight: 2px;
}
.header_nav .elementor-menu-toggle:before,
.header_nav .elementor-menu-toggle:after,
.header_nav .elementor-menu-toggle .e-font-icon-svg {
    content: "";
    height: var(--weight);
    width: var(--width);
    position: absolute;
    background: currentColor;
    top: 50%;
    left: 50%;
    transform: translate(-50%,calc(-50% + var(--gap)));
    transition: all 0.3s ease-in-out;
}
.header_nav .elementor-menu-toggle.elementor-active:before {
    transform: translate(-50%,-50%) rotate(-45deg);
    --weight: 2px;
}
.header_nav .elementor-menu-toggle:after {
    transform: translate(-50%,calc(-50% - var(--gap)));
}
.header_nav .elementor-menu-toggle.elementor-active:after {
    transform: translate(-50%,-50%) rotate(45deg);
    --weight: 2px;
}
.header_nav .elementor-menu-toggle .e-font-icon-svg {
    transform: translate(-50%,-50%);
}
.header_nav .elementor-menu-toggle.elementor-active .e-font-icon-svg {
    opacity: 0;
}

/* This makes the Drop-Down Header Menu take up the full screen and hides the scrollbar on Tablet and Mobile resolutions */
.header_nav.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    position: fixed;
    height: 100%;
    max-height: 100%;
    top: auto !important;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.header_nav.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container::-webkit-scrollbar {
  display: none;
}
 
/* This changes the animation speed for the Drop-Down Header Menu on Tablet and Mobile resolutions */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    transition: max-height .6s,transform .0s;
}

/* This changes the hover speed, width and positions the Drop-Down Header Menu tabs on Tablet and Mobile resolutions */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
    transition: .3s ease-in-out;
    width: fit-content;
    margin: 0px;
}
@media only screen and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item:focus {
		background-color: var( --e-global-color-60da78b );
	}
}
@media only screen and (max-width: 767px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
		max-width: 370px;
	}
}

/* This adds padding to the Drop-Down Header Menu on Tablet and Mobile resolutions */
@media (min-width: 768px) and (max-width: 1024px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 102px 0px 238px 50px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 77px 0px 223px 25px;
    }
}

/* This adds a background to the Drop-Down Header Menu on Tablet and Mobile resolutions */
@media (min-width: 768px) and (max-width: 1024px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        background-image: url("/wp-content/uploads/2025/09/shadow_leaders_icon_white.svg");
        background-position: 88% 100%;
        background-repeat: no-repeat;
        background-size: 100px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        background-image: url("/wp-content/uploads/2025/09/shadow_leaders_icon_white.svg");
        background-position: 81% 100%;
		background-repeat: no-repeat;
		background-size: 80px;
		
    }
}

/* This fixes the margin on the last navigation tab when the "Contact Us" tab isn't visable on Desktop resolutions */
@media only screen and (min-width: 1025px) {
	.header_nav .elementor-nav-menu li.nav_tab_last_desktop a.elementor-item {
		margin-inline-end: 0px;
	}
}

/* This hides the "Contact Us" navigation tab on Desktop resolutions */
@media only screen and (min-width: 1025px) {
	.header_nav .elementor-nav-menu li.nav_tab_mobile {
		display: none;
	}
}

/* This styles the Footer social icon element */
div.elementor-element.footer_social_icons div.elementor-social-icons-wrapper span.elementor-grid-item a.elementor-social-icon {
	background: radial-gradient(322.5% 271.7% at 50% 50%, #020014 0%, #AAA6B9 100%);
}
div.elementor-element.footer_social_icons div.elementor-social-icons-wrapper span.elementor-grid-item a.elementor-social-icon:hover {
	background: radial-gradient(133.75% 112.68% at 50% 50%, #020014 0%, #AAA6B9 100%);
}

/* This fixes the Footer mail text element */
div.elementor-element.footer_big_mailtext h4.elementor-heading-title a {
	text-decoration: underline;
	word-break: break-all;
}

/* This applies a box-shadow and a z-index on the popup element so that it doesn't overlap when the Header Mobile Menu is expanded */
div.elementor-popup-modal.cookie_notice_popup div.dialog-widget-content {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.2);
}
div.elementor-popup-modal.cookie_notice_popup {
    z-index: 10;
}

/* This applies the weight on the body font element */
div.elementor-element.body_font_light div.elementor-widget-container .elementor-heading-title {
	font-weight: 300;
}
div.elementor-element.body_font_light_text div.elementor-widget-container p {
	font-weight: 300;
}
div.elementor-element.body_font_light_text div.elementor-widget-container > ul > li {
	font-weight: 300;
}
div.elementor-element.body_font_medium_text div.elementor-widget-container p {
	font-weight: 400;
}

/* This styles the bullet points within the regular text element */
div.elementor-element.custom_bullets > ul {
	padding-inline-start: 22px;
}
div.elementor-element.custom_bullets > ul > li {
	margin-block-end: 8px;
}
div.elementor-element.custom_bullets > ul > li:last-child {
	margin-block-end: 0px;
}

/* This styles the title element that has different colors and font-size within the same content field */
div.elementor-element.double_title .elementor-headline {
	margin-block-start: 0px;
	margin-block-end: 0px;
}
div.elementor-element.double_title .elementor-headline span.elementor-headline-plain-text {
	display: inline;
}
div.elementor-element.double_title .elementor-headline span.elementor-headline-dynamic-wrapper > svg {
	display: none;
}
div.elementor-element.double_title.title_font_change .elementor-headline span.elementor-headline-dynamic-wrapper span.elementor-headline-dynamic-text {
	font-size: var( --e-global-typography-c383f86-font-size );
	font-weight: var( --e-global-typography-c383f86-font-weight );
	text-transform: var( --e-global-typography-c383f86-text-transform );
	font-style: var( --e-global-typography-c383f86-font-style );
	text-decoration: var( --e-global-typography-c383f86-text-decoration );
	line-height: var( --e-global-typography-c383f86-line-height );
	letter-spacing: var( --e-global-typography-c383f86-letter-spacing );
	word-spacing: var( --e-global-typography-c383f86-word-spacing );
}

/* This styles the Logo Carousel element */
div.elementor-element.logo_carousel .elementor-main-swiper .elementor-carousel-image {
	height: 120px;
	max-width: 240px;
	width: 100%;
	transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.logo_carousel .elementor-main-swiper .elementor-carousel-image {
		height: 100px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.logo_carousel .elementor-main-swiper .elementor-carousel-image {
		max-width: 222px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.logo_carousel .elementor-main-swiper .elementor-carousel-image {
		max-width: 196px;
	}
}
div.elementor-element.logo_carousel .elementor-main-swiper a .elementor-carousel-image:hover {
	opacity: 0.7;
}
div.elementor-element.logo_carousel .swiper .elementor-swiper-button {
	pointer-events: none;
}
div.elementor-element.logo_carousel .swiper .elementor-swiper-button-prev {
	left: 0px;
	background: linear-gradient(90deg, #020014 0%, rgba(2, 0, 20, 0) 56.25%);
	padding: 60px 120px 60px 0px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.logo_carousel .swiper .elementor-swiper-button-prev {
		padding: 50px 90px 50px 0px;
	}
}
div.elementor-element.logo_carousel .swiper .elementor-swiper-button-next {
	right: 0px;
	background: linear-gradient(270deg, #020014 0%, #02001400 56.25%);
	padding: 60px 0px 60px 120px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.logo_carousel .swiper .elementor-swiper-button-next {
		padding: 50px 0px 50px 90px;
	}
}

/* This styles the testimonial slider */
@media only screen and (min-width: 1690px) {
	div.elementor-element.testimonial_slider {
		--e-n-carousel-swiper-offset-size: 310px !important;
	}
}
@media (min-width: 970px) and (max-width: 1024px) {
	div.elementor-element.testimonial_slider {
		--e-n-carousel-swiper-offset-size: 160px !important;
	}
}
div.elementor-element.testimonial_slider div.swiper-pagination.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 32px;
	border-radius: 40px;
	transition: 0.5s;
}
div.elementor-element.testimonial_slider div.elementor-swiper-button {
	pointer-events: none;
}
div.elementor-element.testimonial_slider div.elementor-swiper-button-prev {
	background: linear-gradient(90deg, #020014 0%, rgba(2, 0, 20, 0) 56.25%);
	height: 100%;
	width: 100%;
	max-width: 120px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.testimonial_slider div.elementor-swiper-button-prev {
		max-width: 50px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.testimonial_slider div.elementor-swiper-button-prev {
		max-width: 60px;
	}
}
div.elementor-element.testimonial_slider div.elementor-swiper-button-next {
	background: linear-gradient(270deg, #020014 0%, #02001400 56.25%);
	height: 100%;
	width: 100%;
	max-width: 120px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.testimonial_slider div.elementor-swiper-button-next {
		max-width: 60px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.testimonial_slider div.elementor-swiper-button-next {
		max-width: 30px;
	}
}

/* This styles the contacts form */
@media only screen and (max-width: 767px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-field-group {
		margin-bottom: 32px;
	}
}
div.elementor-element.form_contacts form#form_contacts.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group .elementor-field-textual:focus {
	box-shadow: none;
	border: 1px solid var( --e-global-color-primary );
}
div.elementor-element.form_contacts form#form_contacts.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group .elementor-field {
	padding: 15px 16px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field::placeholder {
	opacity: 1;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message {
	scrollbar-width: none;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message::-webkit-scrollbar {
	display: none;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message {
	height: 120px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message {
		height: 100px;
	}
}
div.elementor-element.form_contacts form#form_contacts.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha_v3 {
	visibility: hidden;
	width: 0px;
}
div.elementor-element.form_contacts form#form_contacts.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha_v3 .elementor-field {
	padding: 0px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-acceptance {
	margin-top: 0px;
	margin-bottom: 12px;
}
@media only screen and (max-width: 1024px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-acceptance {
		margin-top: -3px;
		margin-bottom: 15px;
	}
}
div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup span.elementor-field-option label {
	font-family: var( --e-global-typography-392b9e0-font-family ), Sans-serif;
	font-size: var( --e-global-typography-392b9e0-font-size );
	font-weight: var( --e-global-typography-392b9e0-font-weight );
	text-transform: var( --e-global-typography-392b9e0-text-transform );
	font-style: var( --e-global-typography-392b9e0-font-style );
	line-height: var( --e-global-typography-392b9e0-line-height );
	letter-spacing: var( --e-global-typography-392b9e0-letter-spacing );
	word-spacing: var( --e-global-typography-392b9e0-word-spacing );
}
div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup span.elementor-field-option label > a {
	color: var( --e-global-color-text );
}
div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup input[type="checkbox"] {
	position: absolute;
    opacity: 0;
	top: 19px;
	padding: 0px !important;
}
div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup input[type="checkbox"]:checked + label::before {
    background-image: url(/wp-content/uploads/2025/09/contacts_checkbox.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
	filter: brightness(3);
}
div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup input[type="checkbox"] + label::before {
    content: '';
    display: inline-block;
	margin: 0px 16px -3px 0px;
    background-size: contain;
	background-color: var( --e-global-color-secondary );
    height: 16px;
    width: 16px;
	border: 1px solid var( --e-global-color-text );
	border-radius: 4px;
}
@media only screen and (max-width: 1024px) {
	div.elementor-element.form_contacts form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup input[type="checkbox"] + label::before {
		margin: 0px 8px -3px 0px;
		height: 14px;
    	width: 14px;
	}
}
div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
	margin-top: 23px;
}
@media (min-width: 768px) and (max-width: 1024px) {
div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
		margin-top: 25px;
	}
}
@media only screen and (max-width: 767px) {
div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
		margin-top: 20px;
	}
}
