/* 
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: 168px;
	--shrink-header-to: 0.5952;
    --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: 132px;
		--shrink-header-to: 0.7576;
    }
}

/* 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 padding on the Main Navigation Menu tabs for small resolution Laptop screens */
@media (min-width: 1025px) and (max-width: 1279px) {
	header.elementor div.elementor-element.header_logo img {
		width: 213px;
	}
	header.elementor div.elementor-element.header_section {
		padding: 0px 15px 0px 15px;
	}
	header.elementor div.elementor-element.header_section div.e-con-inner div.elementor-element.header_logo_col {
		--width: 25%
	}
	header.elementor div.elementor-element.header_section div.e-con-inner div.elementor-element.header_menu_col {
		--width: 75%
	}
	.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item:not(:last-child) > a.elementor-item {
		margin-inline-end: 8px;
	}
	.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item:not(:first-child) > a.elementor-item {
		margin-inline-start: 8px;
	}
}

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

/* 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-primary );
		box-shadow: 0px 0px 1px 0px #bababa;
	}
}
@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: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: 65px 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: 50px 0px 100px 20px;
    }
}

/* This styles and positions the chevron for the Header Menu Drop-Down Navigation */
.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu a.elementor-item span.sub-arrow {
	display: flex;
	padding: 11px 0 9px 5px;
}
.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu a.elementor-item span.sub-arrow svg.e-font-icon-svg {
	font-size: 18px;
}
@media only screen and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item span.sub-arrow {
		display: flex;
		padding: 11px 0 9px 5px;
	}
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item span.sub-arrow svg.e-font-icon-svg {
		font-size: 20px;
	}
}

/* This styles the TranslatePress Language Switcher */
.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu li.trp-language-switcher-container a.elementor-item {
	font-weight: 600;
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu li.trp-language-switcher-container.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
	width: fit-content;
}
@media only screen and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.trp-language-switcher-container a.elementor-item {
		font-weight: 600;
		font-size: 22px;
		margin-top: 0px;	
		margin-bottom: -7px;
	}
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu li.trp-language-switcher-container.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		font-size: 22px;
		margin-left: -8px;
		padding: 15px 15px;
	}
}

/* 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 styles the regular text element */
div.elementor-element.special_text > p > a {
	font-weight: 600;
 	text-decoration: underline;
}
div.elementor-element.special_text > ul > li {
	padding: 0px 0px 0px 6px;
	margin-top: -1px;
}
div.elementor-element.special_text > ul > li::marker {
	font-size: 8px;
}
div.elementor-element.special_text > ul {
	padding-inline-start: 16px;
	margin-block-start: 24px;
}

/* This applies the word-break and changes the font-size for mobile on the huge title element */
div.elementor-element.big_title .elementor-heading-title {
	word-break: break-word;
}

/* This sets the height and width on the icon within the CTA elements */
div.elementor-element.btn_big_icon1 a.elementor-button span.elementor-button-content-wrapper span.elementor-button-icon > svg {
	height: 20px;
 	width: 20px;
}
div.elementor-element.btn_big_icon2 a.elementor-button span.elementor-button-content-wrapper span.elementor-button-icon > svg {
	height: 18px;
 	width: 20px;
}

/* This sets a max-width for the accordion title tabs */
@media only screen and (min-width: 1025px) {
	div.elementor-element.custom_accordion div.e-n-accordion .e-n-accordion-item .e-n-accordion-item-title span.e-n-accordion-item-title-header h5.e-n-accordion-item-title-text {
		max-width: 420px;
	}
}
@media only screen and (max-width: 1024px) {
	div.elementor-element.custom_accordion div.e-n-accordion .e-n-accordion-item .e-n-accordion-item-title span.e-n-accordion-item-title-header h5.e-n-accordion-item-title-text {
		max-width: 340px;
	}
}
@media only screen and (min-width: 1025px) {
	div.elementor-element.custom_accordion.title_accordion_big div.e-n-accordion .e-n-accordion-item .e-n-accordion-item-title span.e-n-accordion-item-title-header h5.e-n-accordion-item-title-text {
		max-width: 850px;
	}
}

/* This styles the video element */
div.elementor-element.intro_video video.elementor-video {
 	min-height: 618px;
 	max-width: 648px;
	border: solid 0px var( --e-global-color-86b4fcd );
 	border-radius: 32px;
}
@media (min-width: 768px) and (max-width: 1024px) {
div.elementor-element.intro_video video.elementor-video {
 		max-width: 540px;
 		min-height: 515px;
	}
}
@media only screen and (max-width: 767px) {
div.elementor-element.intro_video video.elementor-video {
 		max-width: 380px;
 		min-height: 362.4px;
	}
}

/* This styles the sticky button popup element */
div.elementor-popup-modal.cta_popup {
    z-index: 10;
}
div.elementor-popup-modal.cta_popup div.elementor-element.cta_icon div.elementor-icon-wrapper a.elementor-icon {
    box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.3), 0px 6px 8px -4px rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width: 767px) {
	div.elementor-popup-modal.cta_popup div.elementor-element.cta_icon.sticky_01 div.elementor-icon-wrapper a.elementor-icon {
    	padding: 13.25px;
	}
	div.elementor-popup-modal.cta_popup div.elementor-element.cta_icon.sticky_02 div.elementor-icon-wrapper a.elementor-icon {
    	padding: 10.5px;
	}
}
