/* 
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: 110px;
	--shrink-header-to: 1;
    --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: 100px;
		--shrink-header-to: 0.8;
    }
}

/* 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);
}
 
/* This changes the Logo height when the Sticky Header is activated */
@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);
	}
}
@media only screen and (max-width: 767px) {
	header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo_mobile div.elementor-widget-container a img {
		transform: scale(0.85);
	}
}

/* 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: 40px;
		--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;
    text-transform: none;
}
@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: 88px 0px 180px 60px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 68px 0px 150px 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("https://product.dengun.com/wp-content/uploads/2024/05/dengun_logo_symbol_white.png");
        background-position: 85px 100%;
        background-repeat: no-repeat;
        background-size: 56px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        background-image: url("https://product.dengun.com/wp-content/uploads/2024/05/dengun_logo_white_small.png");
        background-position: 50px 100%;
		background-repeat: no-repeat;
		background-size: 140px;
		
    }
}

/* This positions the underline for the Header Menu Drop-Down Navigation */
@media only screen and (min-width: 1025px) {
	.header_nav .e--pointer-underline .elementor-item::after {
		bottom: -29px;
	}
}

/* This styles the Language Switcher */
div.elementor-element.header_lang_switcher div.language-switcher {
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    font-size: 19px;
	font-weight: 400;
	text-transform: var( --e-global-typography-4c78147-text-transform );
	font-style: var( --e-global-typography-4c78147-font-style );
	text-decoration: var( --e-global-typography-4c78147-text-decoration );
	line-height: 23px;
	letter-spacing: var( --e-global-typography-4c78147-letter-spacing );
    color: var( --e-global-color-secondary );
}
@media only screen and (max-width: 767px) {
	div.elementor-element.header_lang_switcher div.language-switcher {
		font-size: 17px;
		line-height: 21px;
	}
}
div.elementor-element.header_lang_switcher div.language-switcher .language-item {
	color: var( --e-global-color-secondary );
	transition: 0.5s;
}
div.elementor-element.header_lang_switcher div.language-switcher a.language-item:hover {
    color: var( --e-global-color-c696dce );
}
div.elementor-element.header_lang_switcher div.language-switcher a.language-item.active {
	font-weight: 700;
	color: var( --e-global-color-bdfde5e );
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* This applies a box-shadow and a z-index on the Cookie Notice 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_medium_text div.elementor-widget-container p {
	font-weight: 400;
}

/* This applies the font weight on a button element */
div.elementor-element.button_light_font div.elementor-widget-container div.elementor-button-wrapper .elementor-button {
	font-weight: 300;
}

/* This applies a font weight on the icon list element */
div.elementor-element.icon_list_light div.elementor-widget-container ul.elementor-icon-list-items li.elementor-icon-list-item span.elementor-icon-list-text {
	font-weight: 300;
}
div.elementor-element.icon_list_bold div.elementor-widget-container ul.elementor-icon-list-items li.elementor-icon-list-item span.elementor-icon-list-text {
	font-weight: 400;
}

/* This styles the mobile overline font element */
div.elementor-element.mobile_overline div.elementor-widget-container .elementor-heading-title {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 6.8%;
}

/* This applies a hover delay on the body text URL's */
div.elementor-element.body_url_hover div.elementor-widget-container p > a {
	transition: 0.3s;
}

/* This styles the title element that has different font-weights within the same content field */
div.elementor-element.double_title_font_weight div.elementor-widget-container .elementor-headline {
	margin-block-start: 0px;
	margin-block-end: 0px;
}
div.elementor-element.double_title_font_weight div.elementor-widget-container span.elementor-headline-dynamic-wrapper > span {
	font-weight: 300;
}
div.elementor-element.double_title_font_weight div.elementor-widget-container span.elementor-headline-dynamic-wrapper > svg {
	display: none;
}
div.elementor-element.double_title_font_weight div.elementor-widget-container .elementor-headline .elementor-headline-dynamic-wrapper {
	display: inline;
}
div.elementor-element.double_title_font_weight div.elementor-widget-container .elementor-headline .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text {
	display: inline;
}

/* This styles the custom CTA elements */
div.elementor-element.custom_cta div.elementor-button-wrapper .elementor-button {
	position: relative;
	top: 0;
	left: 0;
	transition: left 0.2s ease-out, top 0.2s ease-out;
}
div.elementor-element.custom_cta div.elementor-button-wrapper .elementor-button:hover {
	top: -8px;
	left: 8px;
}
div.elementor-element.custom_cta div.elementor-button-wrapper .elementor-button span.elementor-button-content-wrapper span.elementor-button-icon > svg {
	width: 33px;
	height: 100%;
}
div.elementor-element.custom_cta.white_cta div.elementor-button-wrapper {
	border: 1px solid var( --e-global-color-primary );
	background-color: var( --e-global-color-c696dce );
}

/* This fixes the width on the Logo grid gallery element for mobile resolutions */
@media only screen and (max-width: 767px) {
	div.elementor-element.logo_grid_gallery div.elementor-image-gallery .gallery {
		margin: 0 -15px -15px 0;
	}
	div.elementor-element.logo_grid_gallery div.elementor-image-gallery .gallery figure.gallery-item {
		max-width: 50%;
		padding: 0px 15px 15px 0px;
	}
}
@media only screen and (min-width: 768px) {
	div.elementor-element.logo_grid_gallery.big_logo_grid div.elementor-image-gallery .gallery {
		margin: 0 -70px -60px 0;
	}
}

/* This applies a frame border to a container */
div.elementor-element.frame_border::before {
	content: '';
	position: absolute;
	background-color: var( --e-global-color-primary );
	border: solid 1px var( --e-global-color-c696dce );
	top: 10px;
	left: 10px;
	width: 100%;
	height: 100%;
}
div.elementor-element.frame_border_v2::before {
	content: '';
	position: absolute;
	background-color: var( --e-global-color-primary );
	border: solid 1px var( --e-global-color-c696dce );
	top: -16px;
	left: -16px;
	width: 100%;
	height: 100%;
	z-index: 0;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.frame_border_v2::before {
		top: -10px;
		left: -10px;
	}
}

/* This applies a double frame border to a title element */
div.elementor-element.frame_border_title::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: var( --e-global-color-c696dce );
	border: 1px solid var( --e-global-color-primary );
	z-index: -1;
}
div.elementor-element.frame_border_title.border_title_left_down::before {
	top: 8px;
	left: -8px;
}
div.elementor-element.frame_border_title.border_title_left_up::before {
	top: -8px;
	left: -8px;
}
div.elementor-element.frame_border_title.border_title_right_down::before {
	top: 8px;
	left: 8px;
}
div.elementor-element.frame_border_title::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: var( --e-global-color-c696dce );
	border: 1px solid var( --e-global-color-primary );
	z-index: -2;
}
div.elementor-element.frame_border_title.border_title_left_down::after {
	top: 15px;
	left: -15px;
}
div.elementor-element.frame_border_title.border_title_left_up::after {
	top: -15px;
	left: -15px;
}
div.elementor-element.frame_border_title.border_title_right_down::after {
	top: 15px;
	left: 15px;
}

/* This applies a double frame border to an image element */
div.elementor-element.double_border_img::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: var( --e-global-color-primary );
	border: 1px solid var( --e-global-color-c696dce );
	z-index: -1;
	top: 10px;
	left: 10px;
}
div.elementor-element.double_border_img::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: var( --e-global-color-primary );
	border: 1px solid var( --e-global-color-c696dce );
	z-index: -2;
	top: 20px;
	left: 20px;
}

/* This styles the frame box icon element for mobile resolutions */
@media only screen and (max-width: 767px) {
	div.elementor-element.frame_box_icon div.elementor-widget-container div.elementor-icon-box-wrapper div.elementor-icon-box-icon {
		display: inline-flex;
		flex: 0 0 auto;
	}
}

/* This styles the flip box element for mobile resolutions*/
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_flip_box div.elementor-widget-container div.elementor-flip-box div.elementor-flip-box__back div.elementor-flip-box__layer__overlay div.elementor-flip-box__layer__inner h5.elementor-flip-box__layer__description {
		margin-block-start: 0px;
		margin-block-end: 0px;
	}
}
@media only screen and (max-width: 375px) {
	div.elementor-element.custom_flip_box div.elementor-widget-container div.elementor-flip-box {
		height: 347px;
	}
}

/* This applies the animation to the text on the spinner */
div.elementor-element.custom_spinner_img div.elementor-widget-container img {
    animation: spinner_rotation 60s infinite linear;
    margin: 0 !important;
}
@keyframes spinner_rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}

/* This applies the custom highlight to the 1st text */
.highlight-container, .highlight {
	position: relative;
}
.highlight-container {
	display: inline-block;
}
.highlight-container:before {
	content: " ";
	position: absolute;
	display: block;
	height: 90%;
	width: 105%;
	margin-left: -3px;
	margin-right: -3px;
	background: var( --e-global-color-c696dce );
	border-radius: 20% 25% 20% 24%;
	transform: rotate(2deg);
	top: -1px;
	left: -5px;
	padding: 10px 3px 3px 10px;
	opacity: 0.9;
}

/* This applies the custom highlight to the 2nd text */
.circle-sketch-highlight {
	position: relative;
	display: inline-flex;
}
.circle-sketch-highlight:before {
	content: "";
	position: absolute;
	width: 110%;
	height: 1.4em;
	border-width: 5px;
	border-style: solid;
	border-color: var( --e-global-color-c696dce );
	border-right-color: transparent;
	border-radius: 50%;
	transform: rotate(2deg);
	left: -0.3em;
	top: -0.1em;
	padding: 0.1em 0.25em;
	opacity: 0.9;
	z-index: -1;
}
.circle-sketch-highlight:after {
	content: "";
	position: absolute;
	width: 110%;
	height: 1.4em;
	border-width: 5px;
	border-style: solid;
	border-color: var( --e-global-color-c696dce );
	border-left-color: transparent;
	border-top-color: transparent;
	border-radius: 50%;
	transform: rotate(-1deg);
	left: -0.3em;
	top: 0.1em;
	padding: 0.1em 0.25em;
	opacity: 0.9;
	z-index: -1;
}

/* This applies the custom highlight to the 3rd text */
.line-sketch-highlight {
	position: relative;
	display: inline-flex;
}
.line-sketch-highlight:before {
	content: "";
	position: absolute;
	width: calc(100% + 4px);
	height: 5px;
	background-color: var( --e-global-color-c696dce );
	transform: rotate(-1.5deg);
	left: 0px;
	bottom: 0px;
	opacity: 0.9;
	z-index: -1;
}

/* This positions the text on the profile CTA element */
div.elementor-element.profile_cta div.elementor-widget-container div.elementor-button-wrapper a.elementor-button span.elementor-button-content-wrapper span.elementor-button-text {
	text-align: left;
}

/* This styles the contacts form */
div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field {
	padding: 5px 0px 7px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field {
		padding: 5px 0px 5px;
	}
}
div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field::placeholder {
	opacity: 1;
}
div.elementor-element.form_dng_simple form.elementor-form .elementor-form-fields-wrapper .elementor-field-textual:focus {
	border-color: var( --e-global-color-c696dce ) !important;
}
div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message {
	scrollbar-width: none;
}
div.elementor-element.form_dng_simple 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_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha div#form-field-form_recaptcha {
	border: 0px solid transparent;
	border-radius: 0px;
	background-color: transparent;
	padding: 0px;
	margin: 10px 0px 15px;
}
@media only screen and (max-width: 1024px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha div#form-field-form_recaptcha {
		margin: 5px 0px 10px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha div#form-field-form_recaptcha {
		transform: scale(0.93);
		margin-left: -11px;
		margin-bottom: 5px;
	}
}
div.elementor-element.form_dng_simple form.elementor-form span.elementor-message-sucecess {
	margin-top: 20px;
}
div.elementor-element.form_dng_simple form.elementor-form span.elementor-message::before {
	margin-top: -2px;
}
div.elementor-element.form_dng_simple form.elementor-form span.elementor-message-danger::before {
	margin-top: -2px;
}
div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta > span > span.elementor-button-icon {
	height: 26px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta > span > span.elementor-button-icon {
		margin-left: 10px;
	}
}
div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta > span > span.elementor-button-icon > svg {
	width: 33px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta > span > span.elementor-button-icon > svg {
		width: 31px;
	}
}
div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta > span > span.elementor-button-icon > svg * {
	fill: transparent;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_dng_simple form.elementor-form div.elementor-field-group button#submit_cta {
		padding: 14px 22.5px 14px 22.5px;
	}
}

/* This styles the font-size for the titles on the accordion element for tablet and desktop resolutions */
@media only screen and (min-width: 768px) {
	div.elementor-element.custom_accordion div.elementor-widget-container .e-n-accordion-item .e-n-accordion-item-title span.e-n-accordion-item-title-header h5.e-n-accordion-item-title-text {
		font-size: 29px;
	}
}
