@media (max-width:1050px) {
.content {
	max-width:100%;
	padding-left:15px !important;
	padding-right:15px !important;
	box-sizing:border-box;
}

h2 {
	padding-left:15px !important;
	padding-right:15px !important;
}

h2 span {
	max-width:100%;
}
}

@media (max-width:480px) {
.content {
	padding-left:10px !important;
	padding-right:10px !important;
}

h2 span {
	text-align:center !important;
	letter-spacing:0 !important;
}

.convert {
	max-width:100%;
}

header {
	margin-bottom:15px !important;
}
}

header .language-chooser {
	display:none;
}

header .telefon {
	text-decoration:none;
}

/* Header top container - flexbox layout for logo and contact info */
#header .header-top {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
	margin-bottom:20px; /* Add spacing between header-top and navigation */
}

/* Logo in flexbox layout */
#header .header-top .logo {
	float:none;
	margin:4px 0 0;
	flex-shrink:0;
}

/* Language selector in flexbox layout */
#header .header-top .language,
#header .header-top .language-chooser {
	float:none;
	margin:40px 0 15px 10px;
}

/* Header contact info wrapper - groups phone and email together */
#header .header-contact {
	float:none;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:5px;
	margin-top:40px; /* Match the original telefon margin-top */
}

/* Override phone margin when inside header-contact to group with email */
#header .header-contact .telefon {
	margin-top:0;
	margin-bottom:0;
	float:none;
	font-size:24px;
	line-height:27px;
}

/* Email styling - similar to phone, appears directly below phone number */
#header .header-contact .email {
	float:none;
	clear:none;
	color:#26264d;
	font:400 24px/27px 'Lato', Arial, Helvetica, sans-serif;
	padding: 15px 21px;
	display:inline-block;
	background:#00e6bf;
	margin:0;
	text-decoration:none;
}

#header .email i {
	color:#00e6bf;
	background:#26264d;
	padding: 17px 19px 16px;
	display:inline-block;
	margin:-15px 21px -15px -21px;
}

.block_visual .block_visual_text {
	max-width:100% !important;
}



.main.home .bx-wrapper .bx-controls {
	display:none;
}

.blitzanfrage {
	height:570px !important;
	margin-top:30px !important;
}


@media (max-width:720px) {
.main.home .slider_slogan {
	display:none !important;
}
}

@media (max-width:450px) {
.blitzanfrage {
	padding-left:0 !important;
	margin:20px 10px !important;
	height:590px !important;
}

.blitzanfrage > strong {
	position:static !important;
	letter-spacing:0 !important;
	font-size:21px !important;
	transform:none !important;
	text-align: center !important;
	width:100% !important;
	padding:5px !important;
}
}

@media (max-width:360px) {
.blitzanfrage {
	margin:25px 10px !important;
	float:none !important;
	width: calc(100% - 20px) !important;
}

.blitzanfrage .form_box:not(:first-of-type) input {
	width:100% !important;
	box-sizing:border-box;
}

.blitzanfrage .form_box {
	padding-left:10px !important;
	padding-right:10px !important;
}

.blitzanfrage .slider_info_section label {
	width:25px !important;
	margin-right:5px !important;
}
}

@media (max-width:310px) {
.blitzanfrage .slider_info_section span:first-of-type input {
	width:70px !important;
}
}






.bx-wrapper .blitzanfrage form input[type="submit"] {
	height:50px !important;
}

.bx-wrapper .blitzanfrage form input[type="submit"]:hover {
	height:50px !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}


.blitzanfrage .select-wpcf7-form-control {
	margin-bottom:5px !important;
}

.bx-wrapper .blitzanfrage form .form_box:last-child {
	padding:10px 20px 0;
}


.blitzanfrage form {
	height:570px !important;
}

.blitzanfrage .wpcf7-response-output {
	margin:0;
	padding:0;
	border:none;
	background:#398f14;
	color:#fff;
	font-size:13px;
}

.bx-wrapper .blitzanfrage form input[type="submit"]:hover {
	padding:5px 15px;
}

.w1 .wrapper {
	padding-bottom:0 !important;
}






@media (max-width:480px) {
header .telefon {
	margin-top:10px !important;
}
}

@media (max-width:359px) {
header .telefon {
	padding:10px !important;
	margin:15px 0 25px !important;
}

header .telefon i {
	padding:12px 10px 11px !important;
}
}





@media (max-width:1050px) {
.logo {
	margin:10px !important;
	width: calc(100% - 20px) !important;
	background-size:contain !important;
}
}

@media (max-width:430px) {
.logo {
	height:110px !important;
}
}

@media (max-width:320px) {
.logo {
	height:95px !important;
}
}






@media (max-width:750px) {
header nav {
	margin:0 10px;
	float:none !important;
}

header nav ul {
	display:flex;
	flex-wrap:wrap;
}

header nav ul li {
	float:none !important;
	margin:0 15px 10px 0 !important;
}
}












#footer {
	height:auto !important;
	padding:15px !important;
	margin-top:0px !important;
}

@media (max-width:900px) {
.design {
	float:none !important;
	clear:both;
	display:block;
	text-align:right;
}
}

@media (max-width:700px) {
#footer .copy {
	float:none !important;
	display:block;
	width:100%;
	text-align:left;
}

#menu-footer-nav {
	margin:15px 0 !important;
	text-align:right !important;
	display:block !important;
	float:right;
}
}




@media (max-width:950px) {
#mycity_widget_the_content-3 .block_visual_text {
	 width:40%;
}

#mycity_widget_the_content-3 img {
	width:60%;
	height:auto;
	top:0;
}
}

@media (max-width:780px) {
#mycity_widget_the_content-3 .block_visual_text {
	 width:100%;
	 margin-right:0;
}

#mycity_widget_the_content-3 img {
	width:auto;
	position:static;
}
}











@media (max-width:1100px) {
#mycity_widget_leistungen-2 ul {
	display:flex;
	flex-wrap:wrap;
	margin-left:0;
}

#mycity_widget_leistungen-2 ul li {
	width:33%;
	height:auto;
}

#mycity_widget_leistungen-2 ul li a {
	padding:10px 15px 0;
}

.convert {
	max-width:100%;
}
}

@media (max-width:640px) {
#mycity_widget_leistungen-2 ul li {
	width:50%;
}
}

@media (max-width:480px) {
#mycity_widget_leistungen-2 ul li {
	width:100%;
}
}




@media (max-width:1050px) {
.calendar_description {
	width:50% !important;
}

.calendar_block {
	max-width:100%;
	padding-left:15px !important;
	padding-right:15px !important;
	box-sizing:border-box;
}
}

@media (max-width:780px) {
.calendar_description {
	width:100% !important;
}

.widget.calendar {
	float:none !important;
}
}

@media (max-width:480px) {
.calendar_block {
	padding-left:10px !important;
	padding-right:10px !important;
}
}

@media (max-width:400px) {
#calendar, .widget.calendar {
	width:100% !important;
	max-width:100%;
}

.widget.calendar td {
	padding:5px !important;
}
}






@media (max-width:400px) {
a.kontaktformular {
	letter-spacing:0 !important;
	font-size:21px !important;
	float:none !important;
	margin-top:10px !important;
}
}













@media (max-width:1000px) {
#mycity_widget_the_content-4 .block_visual_text {
	width:50% !important;
}

#mycity_widget_the_content-4 img {
	top:0 !important;
	width:50% !important;
	height:auto !important;
}
}

@media (max-width:639px) {
#mycity_widget_the_content-4 .block_visual_text {
	width:100% !important;
}

#mycity_widget_the_content-4 img {
	position:static !important;
	width:auto !important;
}
}








@media (max-width:1050px) {
#mycity_widget_text-3 ul{
	display:flex;
	flex-wrap:wrap;
	margin:0 15px !important;
}

#mycity_widget_text-3 ul li {
	width:50%;
	box-sizing:border-box;
	padding-right:15px !important;
}
}

@media (max-width:550px) {
#mycity_widget_text-3 ul li {
	width:100%;
	padding-right:0 !important;
}
}

@media (max-width:1050px) {
.leistungsliste_list {
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin:0 15px !important;
}

.leistungsliste_list > li {
	width:calc(33% - 20px) !important;
	box-sizing:border-box;
	margin:0 0 30px !important;
}

#mycity_widget_leistungen-3 .add_info_list ul:after {
	display:none !important;
}
}

@media (max-width:850px) {
.leistungsliste_list > li {
	width:calc(50% - 15px) !important;
}
}

@media (max-width:580px) {
.leistungsliste_list > li {
	width:100% !important;
}

#mycity_widget_leistungen-3 + .big_images {
	height:auto !important;
	padding:25px 15px !important;
}
}






@media (max-width:1000px) {
.main.uber_uns .block_visual_text {
	width:50% !important;
}

.main.uber_uns img {
	top:0 !important;
	width:50% !important;
	height:auto !important;
	margin-top:0 !important;
}
}

@media (max-width:720px) {
.main.uber_uns .block_visual_text {
	width:100% !important;
}

.main.uber_uns img {
	position:static !important;
	width:auto !important;
}
}

/* Fix popup centering and prevent footer cutoff */
.add_info_list ul li .popup {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin-left: 0 !important;
	margin-top: 0 !important;
	z-index: 10000 !important;
	max-height: 90vh !important;
	overflow-y: auto !important;
	pointer-events: none !important; /* Don't block interactions when closed */
}

.add_info_list ul li.popup_opener .popup {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	pointer-events: auto !important; /* Enable interactions when open */
	overflow-y: auto !important; /* Keep content scrollable */
	overflow-x: visible !important; /* Allow close button to be visible */
	padding-right: 70px !important; /* Add space for close button */
	padding-top: 70px !important; /* Add space for close button */
}

/* Fix close button positioning - position outside popup at top-right */
.add_info_list ul li .popup .close {
	position: absolute !important;
	right: -60px !important;
	top: -60px !important;
	width: 60px !important;
	height: 60px !important;
	display: none !important; /* Hidden when popup is closed */
	cursor: pointer !important;
	color: #fff !important;
	background: #00e6bf !important;
	z-index: 99999 !important; /* Very high z-index to ensure visibility */
	pointer-events: auto !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Show close button when popup is open - position outside at top-right */
.add_info_list ul li.popup_opener .popup .close {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: absolute !important;
	right: -60px !important;
	top: -60px !important;
	z-index: 99999 !important; /* Ensure it's above everything */
}

/* Ensure close button icon is visible */
.add_info_list ul li.popup_opener .popup .close i {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.popup_bg {
	z-index: 9999 !important;
	pointer-events: none !important; /* Don't block interactions when closed */
}

.popup_bg.opener {
	pointer-events: auto !important; /* Enable interactions when open */
}

/* Fix hover state - ensure proper state management */
.add_info_list ul li,
.add_info_list ul li:last-child {
	background: transparent !important;
	color: #26264d !important;
}

.add_info_list ul li:hover:not(.popup_opener),
.add_info_list ul li:last-child:hover:not(.popup_opener) {
	background: #26264d !important;
	color: #00E6BF !important;
}

/* When popup is open, show selected state */
.add_info_list ul li.popup_opener,
.add_info_list ul li:last-child.popup_opener {
	background: #26264d !important;
	color: #00E6BF !important;
}

.add_info_list ul li.popup_opener:hover,
.add_info_list ul li:last-child.popup_opener:hover {
	background: #26264d !important;
	color: #00E6BF !important;
}

/* Ensure last child doesn't have special styling unless hovered or popup is open */
.add_info_list ul li:last-child:not(:hover):not(.popup_opener) {
	background: transparent !important;
	color: #26264d !important;
}

@media (max-width:550px) {
.leistungsliste_list .popup {
	max-width:100%;
	box-sizing:border-box !important;
	margin-left:0 !important;
	margin-right:0 !important;
	left:50% !important;
	transform: translate(-50%, -50%) !important;
	width:calc(100% - 30px) !important;
	padding:20px !important;
	top:50% !important;
}

.leistungsliste_list .popup .close {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: 40px !important;
	height: 40px !important;
	background: #00e6bf !important;
	z-index: 10001 !important;
}

.leistungsliste_list .popup ul {
	margin-left:0 !important;
}

.leistungsliste_list .popup ul li {
	width:100% !important;
	box-sizing:border-box !important;
	margin:0 0 15px !important;
}
}




.main.online-anfrage .form_block {
	background-size: cover !important;
}

@media (max-width:1050px) {
.main.online-anfrage form {
	margin-left:15px !important;
	margin-right:15px !important;
	max-width:calc(100% - 30px) !important;
	box-sizing:border-box;
}

.main.online-anfrage form input {
	max-width:100% !important;
}
}

@media (max-width:779px) {
.main.online-anfrage  h2 span{
	background:none !important;
}
}

@media (max-width:500px) {
.main.online-anfrage form input[type=text],
.main.online-anfrage form input[type=email],
.main.online-anfrage form input[type=submit],
.main.online-anfrage form input[type=file],
.main.online-anfrage form .file_upload,
.main.online-anfrage form textarea,
.main.online-anfrage form select {
	width:100% !important;
	box-sizing:border-box;
	min-width:0;
}
.main.online-anfrage .form_block .form_convert .select-area,
.online-anfrage .form_block .form_convert .select-area:first-child {
	width: 100% !important;
	box-sizing:border-box;
}

.online-anfrage .form_block .opacity_info {
	float:none !important;
	display:block;
}
}

@media (max-width:1050px){
.vielen_tables {
	margin:15px !important;
}
}


@media (max-width:780px){
.vielen_tables table {
	width:100% !important;
	float:none !important;
}
}



@media (max-width:1000px) {
#mycity_widget_the_content-7 .block_visual_text {
	width:50% !important;
}

#mycity_widget_the_content-7 img {
	top:0 !important;
	width:50% !important;
	height:auto !important;
}
}

@media (max-width:720px) {
#mycity_widget_the_content-7 .block_visual_text {
	width:100% !important;
}

#mycity_widget_the_content-7 img {
	position:static !important;
	width:auto !important;
}
}

@media (max-width:1050px) {
#tablepress-1 {
	width:100% !important;
}

#tablepress-1 td {
	padding:10px !important;
}

#mycity_widget_text-5 {
	padding:15px !important;
}
}


@media (max-width:1000px) {
#mycity_widget_the_content-8 .block_visual_text {
	width:50% !important;
}

#mycity_widget_the_content-8 img {
	top:0 !important;
	width:50% !important;
	height:auto !important;
}
}

@media (max-width:720px) {
#mycity_widget_the_content-8 .block_visual_text {
	width:100% !important;
}

#mycity_widget_the_content-8 img {
	position:static !important;
	width:auto !important;
}
}

@media (max-width:1050px) {
.table_materialien {
	padding-left:10px !important;
	padding-right:10px !important;

}

.table_materialien .convert, .table_materialien table {
	width:100% !important;
}

.table_materialien table td {
	padding:5px !important;
}

.table_materialien table tr td:nth-of-type(1), .table_materialien table tr td:nth-of-type(3) {
	min-width:60px;
}

.table_materialien table input {
	width:50px !important;
}
}

@media (max-width:420px) {
.table_materialien table td {
	display:block;
	height:auto !important;
}

.table_materialien table tr td:first-of-type {
	padding-top:15px !important;
}

.table_materialien table tr td:last-of-type {
	padding-bottom:15px !important;
}
}

@media (max-width:1050px) {
.materialien_form {
	padding-left:15px !important;
	padding-right:15px !important;
}

.materialien_form .inputs {
	width:calc(50% - 20px) !important;
	margin-right:20px !important;
}

.materialien_form .add_inputs {
	width:50% !important;
}

.materialien_form  span, .materialien_form  input, .materialien_form  textarea {
	float:none !important;
	width:100% !important;
	display: block !important;
	box-sizing:border-box;
	min-width:0 !important;
	margin-right:0 !important;
	max-width:none !important;
}

.materialien_form .inputs > span:last-of-type {
	display:none !important;
}
}

@media (max-width:720px) {
.materialien_form .inputs, .materialien_form .add_inputs {
	width:100% !important;
	margin:0 0 40px !important;
	float:none !important;
}
}







#kontaktformular {
	display:flex;
	justify-content:space-between;
}

#kontaktformular .inputs_left, #kontaktformular .inputs_right {
	width:calc(50% - 10px);
	box-sizing:border-box;
}

#kontaktformular  input, #kontaktformular textarea {
	float:none !important;
	width:100% !important;
	display: block !important;
	box-sizing:border-box;
	min-width:0 !important;
	margin-right:0 !important;
	max-width:none !important;
}

#kontaktformular textarea {
	height:260px !important;
	margin-bottom: 20px !important;
}

@media (max-width:1050px) {
#kontaktformular {
	padding-left:15px !important;
	padding-right:15px !important;
}
}

@media (max-width:720px) {
#kontaktformular {
	display:block;
}

#kontaktformular .inputs_left, #kontaktformular .inputs_right {
	width:100% !important;
}

#kontaktformular textarea {
	margin-top: 20px !important;
}
}


@media (max-width:1050px) {
#mycity_widget_the_content-6 {
	padding-left:15px !important;
	padding-right:15px !important;
}

#mycity_widget_the_content-6 .block_visual {
	width:100% !important;
	padding-right:0 !important;
}

#mycity_widget_the_content-6 .block_visual_text {
	 width:60% !important;
}

#mycity_widget_the_content-6 img {
	width:40% !important;
	height:auto !important;
	top:0 !important;
}
}


@media (max-width:900px) {
#mycity_widget_the_content-6 .block_visual_text {
	 width:50% !important;
}

#mycity_widget_the_content-6 img {
	width:50% !important;
}	
}

@media (max-width:640px) {
#mycity_widget_the_content-6 .block_visual_text {
	 width:100% !important;
	 margin-right:0 !important;
}

#mycity_widget_the_content-6 img {
	width:auto !important;
	position:static !important;
}
}







.main.impressum > .content:before{
	content: none !important;
}

@media (max-width:1050px) {
.main.impressum > .content{
	padding-left:15px !important;
	padding-right:15px !important;
}
}




@media (max-width:1050px) {
.recall_list_block {
	padding-left:15px !important;
	padding-right:15px !important;
}

.recall_list_block .recall_list_left, .recall_list_block .recall_list_right {
	float:none !important;
	max-width:100% !important;
}
}

@media (max-width:550px) {
.recall_list_block .recall_list {
	margin-left: 0 !important;
}

.recall_list_block .recall_list li {
	width:100% !important;
	box-sizing:border-box !important;
	margin-right:0 !important;
	margin-left:0 !important;
}

.recall_list_block .recall_list li .recall_text{
	padding:5px 5px 0 10px !important;
}

.recall_list_block .recall_list li .recall_text p {
	margin-bottom:0 !important;
}
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Light.woff2') format('woff2'),
        url('../fonts/Lato-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-BlackItalic.woff2') format('woff2'),
        url('../fonts/Lato-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Black.woff2') format('woff2'),
        url('../fonts/Lato-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Bold.woff2') format('woff2'),
        url('../fonts/Lato-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Lato Hairline';
    src: url('../fonts/Lato-Hairline.woff2') format('woff2'),
        url('../fonts/Lato-Hairline.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Lato Hairline';
    src: url('../fonts/Lato-HairlineItalic.woff2') format('woff2'),
        url('../fonts/Lato-HairlineItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-BoldItalic.woff2') format('woff2'),
        url('../fonts/Lato-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-LightItalic.woff2') format('woff2'),
        url('../fonts/Lato-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Italic.woff2') format('woff2'),
        url('../fonts/Lato-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Regular.woff2') format('woff2'),
        url('../fonts/Lato-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.ui-datepicker-calendar, .ui-datepicker-year, .ui-datepicker-title, .ui-datepicker-header, .ui-datepicker-div, .ui-widget.ui-widget-content {
	max-width:250px;
}

#google_karte {
	width:100%;
	height:400px;
	border:none;
	box-shadow:1px 1px 2px 0 #777;
	clear:both;
}

.kontakt .content .block_visual img {
	top:25px;
	right:33px;
}

.kontakt .content .block_visual .block_visual_text {
	width:100%;
}

.datenschutz_form > * > * .wpcf7-list-item {
	display:block !important;
	margin-bottom:10px !important;
}

.datenschutz_form > * > * .wpcf7-list-item > .wpcf7-list-item-label {
	display:inline-block;
}

#kontaktformular .datenschutz_form .wpcf7-list-item input {
	width:auto !important;
	height:auto !important;
	margin:0;
	display:inline-block !important;
	margin-right:5px !important;
}

/* Ensure white links remain white when clicked */
#footer ul li a:active,
#footer ul li a:visited,
a.print:active,
a.print:visited {
	color:#fff !important;
}

span.wpcf7-not-valid-tip {
	top:-20px !important;
}

.datenschutz_form {
	margin:25px 0;
}

.form_message.error {
	color:red !important;
}


#schnell_anfrage .wpcf7-captcha-captcha-55 {
	width:84px;
	height:28px;
}

#schnell_anfrage .wpcf7-captchar {
	width:125px;
	margin-right:7px;
}

#schnell_anfrage .datenschutz_form {
	margin:0;
}

#schnell_anfrage .datenschutz_form  input, #anfrage_form .datenschutz_form input {
	max-width:15px;
	max-height:15px;
	margin-bottom:0 !important;
}

#schnell_anfrage .datenschutz_form details {
	display:inline-block;
	font-size:13px;
}

#schnell_anfrage .datenschutz_form details summary {
	padding-left:10px;
	font-size:15px;
}

#schnell_anfrage .datenschutz_form .wpcf7-list-item {
	margin-left:0;
}

#schnell_anfrage .form_box {
	padding-top:5px;
	padding-bottom:5px;
}

#anfrage_pflichtfeld {
	color:#fff !important;
}

#anfrage_form .datenschutz_form {
	color:#fff !important;
}

#anfrage_form .datenschutz_form a {
	color:#fff;
	font-weight:bold;
}

#anfrage_form .captcha input {
	margin-bottom:0;
	display:block;
	margin-bottom:25px;
}

#anfrage_form .reload_captcha {
	font-size:21px;
	color:#fff;
}