/*
 Theme Name: Divi Child
 Theme URI: http://www.elegantthemes.com/gallery/divi/
 Description:  Divi Child Theme
 Author: Elegant Themes
 Author URI: http://www.elegantthemes.com
 Template:     Divi
 Version: 3.0.90
 Tags: responsive-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, featured-images, full-width-template, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready
 License: GNU General Public License v2
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  Divi-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */


body {
	font-family: 'Helvetica', 'Arial', sans-serif;
}

#header-menu .et_pb_row_0_tb_header {
	display:flex;
	align-items: center;
}

.menu-left, .menu-right {
	width: calc(44.5% - 100px) !important;
	margin-top: auto !important;
	margin-bottom: auto !important;
}

.menu-logo {
	width: 200px !important;
}

.menu-logo img, .et_pb_image_0_tb_footer img  {
	-ms-interpolation-mode: bicubic !important;
	image-rendering: optimizeQuality !important;
    min-height: 1px;
}



.et_pb_menu__menu, .et-menu-nav {
	width: 100%;
}

.et_pb_menu .et_pb_menu__menu > nav > ul {
	justify-content: flex-start !important;
	width: calc(100% + 22px) !important;
}

.et_pb_menu_2_tb_header .et_pb_menu__menu > nav > ul {
	justify-content: flex-end !important;
}

.et-menu > .menu-item {
	margin-right: 30px !important;
}

.et-menu > .menu-item:last-child {
	margin-right: 0px !important;
}

.et-menu > .menu-item > a::before {
    width: 0;
    content: "";
    position: absolute;
    height: 1px;
    background: #333;
    left: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 1;
	margin-top: 10px;
	opacity:0;
	transition: opacity 0.3s ease;
}

.et-menu > .current-menu-item > a::before, .et-menu > .menu-item:hover a::before {
    width: 100%;
	opacity:1;
}


.block-span {
	display:block;
	padding: 12px 18px 12px 0;
}


.kontakt-icon .et-pb-icon-circle-border {
    border: 1px solid !important;
}

.footer-wrapper {
	display: flex !important;
	justify-content: space-between !important;
}

.footer-kontakt {
	width: 200px !important;
	margin-right: auto !important;
}

.footer-socialmedia {
	width: 130px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.footer-information {
	width: 200px !important;
	margin-left: auto !important;
}


.sign {
	margin-top: 10px;
}


.termine-list {
	list-style: none !important;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	gap: 8px;
}

.termin-item {
	background: #f1f5ed;
	padding: 8px 16px;
	line-height: 1em;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	text-align: center;
}

.termin-item .day {
	font-size: 9px !important;
}

.termin-item.heute {
  background: #f7f5e8 !important;
}

.termine-home .termin-item {
  background: #fff;
}

.termine-home .termine-monat {
	margin-bottom: 15px !important;
}


.events-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none !important;
	padding: 0 !important;
}

.event-item a {
	display: flex;
	align-items: center;
	background: #f1f5ed;
	border-radius: 20px;
	padding: 20px;
	gap: 20px;
}

.event-item a .et-pb-icon {
	font-size: 25px;
  	margin-left: auto;
}

.event-item a h4 {
	padding-bottom: 0 !important;
}

.event-item a .event-day {
	background: #fff;
	padding: 12px 15px 10px;
	border-radius: 10px;
	line-height: 1em;
}


.event-home .event-item a {
	background: #fff;
}

.event-home .event-item a .event-day {
	background: #f7f5e8;
}


.inline-logo {
	max-width: 170px;
	opacity: 0.8;
	display: inline-block;
	margin-right: 6px;
	vertical-align: bottom;
}

.loc-date {
	padding: 14px 20px 12px;
	border: 1px solid;
	line-height: 1em;
	margin-bottom: 20px;
	border-radius: 100px;
	width: fit-content;
}

/*----------------------------------------------------
# MOBIL 
------------------------------------------------------*/

@media all and (min-width: 980px) {
	#mobil-menu-wrapper {
		display:none !important;
	}
}

@media all and (max-width: 1360px) {
	.menu-left, .menu-right {
    	width: calc(47.5% - 100px) !important;
	}
	
	.menu-left, .menu-logo {
    	margin-right: 2.5% !important;
	}
	
	.menu-left a, .menu-right a {
    	font-size: 13px !important;
	}
}


@media all and (max-width: 1280px) {
	.menu-left a, .menu-right a {
    	font-size: 13px !important;
	}
}


@media all and (max-width: 1200px) {
	.menu-left, .menu-right {
    	width: calc(47.5% - 70px) !important;
	}
	
	.menu-logo {
    	width: 140px !important;
	}
	
	.menu-logo .et_pb_image_0_tb_header {
    	max-width: 140px !important;
	}
}


@media all and (max-width: 1140px) {
	.menu-left a, .menu-right a {
    	font-size: 12px !important;
	}
}



@media all and (max-width: 980px) {
	.et_mobile_menu:before {
		content:"";
		background:url("/wp-content/uploads/2025/07/deinklang-logo.png");
		width: 140px;
		height: 116px;
		background-size: 140px 116px;
		display: block;
		margin: 0 auto 35px;
	}
	
	.menu-left, .menu-right {
    	display:none !important;
	}
	
	.menu-logo {
    	width: 100% !important;
		margin: auto !important;
	}
	
	.et_pb_menu_inner_container {
    	position: unset !important;
	}
	
	.et_pb_menu__logo-wrap {
		margin-bottom:0px !important;
	}
	
	.et_mobile_nav_menu {
		position: absolute;
		right: -5px;
		top: 20px;
	}
	
	.mobile_menu_bar {
		z-index:99999;
		padding-bottom: 24px !important;
		width: 30px;
		right: 10px !important;
		top: -100px;
		border-bottom: 2px solid #333;
		cursor: pointer;
		transition: all 0.1s ease;
	}
	
	.mobile_menu_bar::before {
    	content: "";
    	position: absolute;
    	right: 0;
    	top: 10px !important;
    	cursor: pointer;
    	height: 2px;
    	width: 30px;
    	background: #333;
    	display: block;
    	transition: all 0.3s ease;
	}
	
	.mobile_menu_bar::after {
    	content: "";
    	position: absolute;
    	right: 0;
    	top: 17px;
    	cursor: pointer;
    	height: 2px;
    	width: 30px;
    	background: #333;
    	display: block;
    	transition: all 0.3s ease;
	}
	
	.opened .mobile_menu_bar {
    	border-bottom: 2px solid #fff0;
	}
	
	.opened .mobile_menu_bar::before {
    	top: 15px !important;
    	transform: rotate(45deg);
		background: #041228;
	}
	
	.opened .mobile_menu_bar::after {
    	top: 15px;
    	transform: rotate(-45deg);
		background: #041228;
	}

	.et_mobile_menu {
		display: block !important;
		min-height: 100vh !important;
		height: 100% !important;
		padding-top:13px !important;
		padding-bottom: 30px !important;
		top: 0px !important;
		right:-110vw;
		left: unset;
		transition: .7s cubic-bezier(.77,0,.175,1);
		border-top:0px !important;
		margin: auto !important;
		position: fixed !important;
		overflow-y: scroll !important;
		overflow-x: hidden !important;
		box-shadow: unset !important;
	}
	
	.opened .et_mobile_menu {
		right:0;
	}
	
	.menu-item a::after {
		display:none;
	}
	
	.mobile-open {
		overflow:hidden;
	}
	
	#page-container .et_pb_menu ul.et_mobile_menu li a {
    	color: #041228 !important;
    	text-align: center !important;
		border-bottom: 0px !important;
	}
	
	.switch_order {
		display:flex;
		flex-direction: column;
	}
	
	.order_1 {
		order:1;
	}
	
	.order_2 {
		order:2;
	}

	
}


@media all and (max-width: 768px) {
	.footer-wrapper {
		display: block !important;
	}

	.footer-kontakt, .footer-socialmedia, .footer-information {
		width: 100% !important;
	}

	.event-item a {
		display: grid;
		grid-template-columns: 1fr 50px;
	}
	
	.inline-logo {
  		max-width: 110px;
	}

	.event-item a .event-day {
		grid-column: 1/-1;
  		width: fit-content;
	}
}