/* 
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: 87px;
	--shrink-header-to: 0.8850;
    --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: 87px;
		--shrink-header-to: 0.8850;
    }
}

/* 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) );
	transition-duration: 0.3s !important;
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects {
    box-shadow: 0px 0px 1px 0px rgba(186, 186, 186, 0.69);
}

/* This changes the Logo width 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 {
		width: 189px;
	}
}
@media only screen and (max-width: 1024px) {
	header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo img {
		width: 189px;
	}
}

/* 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: 32px;
		--nav-menu-icon-size: 72px;
    }
}
.header_nav .elementor-menu-toggle {
    position: relative;
    background-color: transparent;
}
.header_nav .elementor-menu-toggle:before {
        --weight: 2px;
}
.header_nav .elementor-menu-toggle:after {
        --weight: 2px;
}
.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 styles the Drop-Down Header Menu for Desktop and Laptop resolutions */
@media only screen and (min-width: 1025px) {
	.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown {
		left: -12px !important;
		min-width: fit-content !important;
		padding: 5px 0px 5px;
		background-color: var( --e-global-color-d1dcf9d );
	}
}
@media only screen and (min-width: 1025px) {
	.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item {
		border-left: 0px solid transparent;
		white-space: break-spaces;
	}
}

/* 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 {
		text-transform: capitalize;
    	font-weight: 600;
	}
}
@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-86b4fcd );
	}
}
@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: 70px 0px 100px 40px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 65px 0px 100px 20px;
    }
}

/* This hides the header cta when entering small laptop viewport resolutions */
@media (min-width: 1025px) and (max-width: 1219px) {
	div.elementor-element.header_cta {
		display: none;
	}
}

/* This fixes the hover animation delay on both the header and footer logos */
div.elementor-element.header_logo img {
	transition-duration: 0.3s !important;
}
div.elementor-element.footer_logo img {
	transition-duration: 0.3s !important;
}

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

/* This applies a transform rule on the title element */
div.elementor-element.title_upper .elementor-heading-title {
	text-transform: uppercase !important;
}
div.elementor-element.title_capital .elementor-heading-title {
	text-transform: capitalize !important;
}

/* This positions the icon element on the intro section of the homepage for some viewports */
@media (min-width: 1025px) and (max-width: 1367px) {
	div.elementor-element.intro_icon {
		left: -630px !important;
	}
}
@media (min-width: 960px) and (max-width: 1024px) {
	div.elementor-element.intro_icon {
		left: -210px !important;
	}
}
@media (min-width: 1025px) and (max-width: 1367px) {
	div.elementor-element.intro_icon_v2 {
		right: -630px !important;
	}
}
@media (min-width: 960px) and (max-width: 1024px) {
	div.elementor-element.intro_icon_v2 {
		right: -210px !important;
	}
}

/* This fixes the alignment on the animated number element */
div.elementor-element.number_fix div.elementor-counter p.elementor-counter-title {
	text-align: center;
}

/* This changes the color on the bullet pagination for the testimonial slider element */
div.elementor-element.testimonial_slider div.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: var( --e-global-color-e34f696 );
}
div.elementor-element.testimonial_slider div.swiper-pagination-bullets span.swiper-pagination-bullet {
	opacity: 1;
}
div.elementor-element.testimonial_slider div.swiper-pagination-bullets span.swiper-pagination-bullet:hover {
	opacity: 0.7;
}

/* This applies a hover effect and changes the font-weight of the icon box element on the contacts page*/
div.elementor-element.contact_icon div.elementor-icon-box-wrapper div.elementor-icon-box-icon .elementor-icon:hover {
	opacity: 0.8;
}
div.elementor-element.contact_icon div.elementor-icon-box-wrapper div.elementor-icon-box-content p.elementor-icon-box-description {
	font-weight: 300;
}

/* This styles the contacts form */
/* This styles the contacts form */
div.elementor-element.form_contacts form#form_contacts.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group .elementor-field-textual {
	min-height: 52px;
	padding: 12px;
}
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-color: var( --e-global-color-accent );
}
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#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-accent-font-family ), Sans-serif;
	font-size: var( --e-global-typography-accent-font-size );
	font-weight: 300;
	text-transform: var( --e-global-typography-accent-text-transform );
	font-style: var( --e-global-typography-accent-font-style );
	text-decoration: var( --e-global-typography-accent-text-decoration );
	line-height: var( --e-global-typography-accent-line-height );
	letter-spacing: var( --e-global-typography-accent-letter-spacing );
	word-spacing: var( --e-global-typography-accent-word-spacing );
	color: var( --e-global-color-text );
}
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: 7px;
	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/2026/03/red_arrow_small.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
}
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 8px -3px 0px;
    background-size: contain;
	background-color: var( --e-global-color-primary );
    height: 18px;
    width: 18px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
	margin-top: 32px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
		padding: 14px 32.5px 14px 32.5px;
	}
}
