/* 
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.3
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 */

/*
 * Globaler Praxis-Header
 * Die Navigation folgt der lokalen HTML-Vorlage: Branding oben,
 * Hauptnavigation in einer eigenen, durchgehenden Zeile darunter.
 */
#site-header.dynamic-header {
	padding: 0;
	background: #fff;
}

#site-header.dynamic-header .header-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	width: min(100%, 1600px);
	max-width: 1600px;
	margin: 0 auto;
	padding: 18px 40px 0;
}

#site-header.dynamic-header .site-branding {
	grid-column: 1;
	min-width: 0;
}

#site-header.dynamic-header .site-navigation {
	grid-column: 1 / -1;
	width: 100%;
	min-width: 0;
	margin-top: 18px;
	border-top: 1px solid #e7e9e7;
}

#site-header.dynamic-header .site-navigation > ul.menu {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	width: 100%;
	margin: 0;
}

#site-header.dynamic-header .site-navigation > ul.menu > li {
	flex: 0 0 auto;
	align-items: stretch;
}

#site-header.dynamic-header .site-navigation > ul.menu > li > a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 14px 10px;
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	white-space: nowrap;
}

#site-header.dynamic-header .site-navigation > ul.menu > li.menu-item-has-children {
	padding-inline-end: 8px;
}

#site-header.dynamic-header .site-navigation > ul.menu > li.menu-item-has-children::after {
	font-size: 18px;
}

#site-header.dynamic-header .site-navigation-toggle-holder {
	grid-column: 2;
	grid-row: 1;
}

@media (max-width: 1100px) {
	#site-header.dynamic-header .header-inner {
		align-items: center;
		padding: 14px 24px;
	}

	#site-header.dynamic-header:not(.menu-layout-dropdown) .site-navigation {
		display: none !important;
	}

	#site-header.dynamic-header:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
		display: flex !important;
	}
}

@media (max-width: 767px) {
	#site-header.dynamic-header .header-inner {
		padding-inline: 18px;
	}
}

/* Zwischen Tablet und Desktop verhindert die umfangreiche Navigation Überbreite. */
@media (min-width: 1025px) and (max-width: 1200px) {
	.elementor-location-header .elementor-element.elementor-element-1e16475 {
		display: none !important;
	}

	.elementor-location-header .elementor-element.elementor-element-eae795b {
		display: flex !important;
	}

	.elementor-location-header .elementor-element.elementor-element-915cd8b img {
		width: 340px !important;
	}

	.elementor-location-header .elementor-element.elementor-element-932c87d {
		display: none !important;
	}
}

/* Aktiver globaler Elementor-Header (Template 278). */
@media (min-width: 1025px) {
	.elementor-location-header .elementor-element.elementor-element-1e16475 > .e-con-inner {
		width: 100%;
		max-width: 1600px;
	}

	.elementor-location-header .elementor-element.elementor-element-3521f9b,
	.elementor-location-header .elementor-element.elementor-element-3521f9b .elementor-nav-menu--main,
	.elementor-location-header .elementor-element.elementor-element-3521f9b .elementor-nav-menu {
		width: 100%;
	}

	.elementor-location-header .elementor-element.elementor-element-3521f9b .elementor-nav-menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: stretch;
	}

	.elementor-location-header .elementor-element.elementor-element-3521f9b .elementor-nav-menu > li {
		flex: 0 0 auto;
	}

	.elementor-location-header .elementor-element.elementor-element-3521f9b .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
		min-height: 50px;
		padding: 14px 10px;
		font-size: 15px;
		line-height: 22px;
		white-space: nowrap;
	}

	.elementor-location-header .elementor-element.elementor-element-3521f9b .sub-arrow {
		margin-inline-start: 6px;
		padding: 0;
	}
}

/* Globale Schutzregeln gegen horizontales Überlaufen auf Mobilgeräten. */
@media (max-width: 767px) {
	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}

	.elementor,
	.elementor .e-con,
	.elementor .e-con-inner,
	.elementor-widget,
	.elementor-widget-container,
	.elementor-widget-text-editor {
		min-width: 0;
		max-width: 100%;
	}

	.elementor img,
	.elementor video,
	.elementor iframe {
		max-width: 100%;
	}

	.elementor [class*="-hours"] table {
		width: 100% !important;
		table-layout: fixed;
	}

	.elementor [class*="-hours"] td {
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.elementor-field-group,
	.elementor-field,
	.elementor-field-textual {
		min-width: 0;
		max-width: 100%;
	}
}
