/* 
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.6429;
    --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: 136px;
		--shrink-header-to: 0.7941;
    }
}

/* 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(255, 255, 255, 0.69);
}

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

/* 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: -10px !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: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: 53px 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: 23px 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: 10px 0 10px 7px;
}
.header_nav nav.elementor-nav-menu--main ul.elementor-nav-menu a.elementor-item span.sub-arrow svg.e-font-icon-svg {
	font-size: 20px;
}
@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: 10px 0 10px 7px;
	}
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item span.sub-arrow svg.e-font-icon-svg {
		font-size: 28px;
	}
}

/* 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: 400;
}
.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-size: 20px;
		margin-top: -3px;	
		margin-bottom: -2px;
	}
	.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: 20px;
		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;
}
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 bullet points within the regular text element */
div.elementor-element.custom_bullets > ul {
	padding-inline-start: 30px;
}
@media only screen and (max-width: 1024px) {
	div.elementor-element.custom_bullets > ul {
		padding-inline-start: 20px;
	}
}
div.elementor-element.custom_bullets > ul > li {
	padding: 0px 0px 0px 6px;
	margin-top: -1px;
}
div.elementor-element.custom_bullets > ul > li::marker {
	font-size: 8px;
}
div.elementor-element.custom_bullets.text_bullets > ul {
	padding-inline-start: 10px;
	margin-block-start: -16px;
	margin-block-end: 16px;
}

/* 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;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.big_title .elementor-heading-title {
		font-size: 42px !important;
		line-height: 42px !important;
	}
}

/* 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 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: 40px;
}
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-type-select .elementor-select-wrapper .select-caret-down-wrapper {
	font-size: 10px;
	margin-top: -1px;
}
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;
}

/* This styles the team loop-grid element */
@media only screen and (min-width: 1025px) {
	div.elementor-element.team_grid div.elementor-loop-container {
		grid-template-columns: repeat(6, 1fr);
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item {
		grid-column: span 2;
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item:nth-last-child(2):nth-child(3n + 2) {
    	grid-column-end: 4;
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item:last-child:nth-child(3n - 1) {
    	grid-column-end: 5;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.team_grid div.elementor-loop-container {
		grid-template-columns: repeat(4, 1fr);
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item {
		grid-column: span 2;
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item:nth-last-child(2):nth-child(2n + 2) {
    	grid-column-end: 3;
	}
	div.elementor-element.team_grid div.elementor-loop-container .e-loop-item:last-child:nth-child(2n - 2) {
    	grid-column-end: 4;
	}
}
div.elementor-element.team_grid_img img {
	max-height: 360px;
	aspect-ratio: 1 / 1;
}

/* This hides the social icons in the custom field within the team loop-grid item */
div.elementor-element.social_field_icon div.elementor-icon-wrapper div.elementor-icon {
	display: none;
}
div.elementor-element.social_field_icon div.elementor-icon-wrapper a.elementor-icon {
	margin: 14px 20px 0px 0px;
}

/* This changes the size on the small frame pictures when entering small resolution laptop screens */
@media (min-width: 1025px) and (max-width: 1119px) {
	div.elementor-element.case_pic_small figure.wp-caption img {
		width: 127px;
	}
}
