/* Mobile ----------------------------------------------------------------*/
@media all and (min-width: 1620px) {
#global-contact-footer .contact-footer-row-1 {
 width: 41%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-2 {
 width: 18%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-3 {
 width: 18%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-4 {
 width: 18%!important;
 margin-right: 0!important;
}
}


@media all and (min-width: 1200px) and (max-width: 1619px) {
#global-contact-footer .contact-footer-row-1 {
 width: 33%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-2 {
 width: 25%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-3 {
 width: 22%!important;
 margin-right: 2%!important;
}

#global-contact-footer .contact-footer-row-4 {
 width: 20%!important;
 margin-right: 0!important;
}
}


@media all and (min-width: 601px) and (max-width: 1199px) {
#global-contact-footer {
 flex-wrap: wrap!important;
}
	
#global-contact-footer .contact-footer-row-1 {
 width: 51%!important;
 margin-right: 3%!important;
 margin-bottom: 4%!important;
}

#global-contact-footer .contact-footer-row-2 {
 width: 46%!important;
 margin-right: 0!important;
 margin-bottom: 4%!important;
}

#global-contact-footer .contact-footer-row-3 {
 width: 51%!important;
 margin-right: 3%!important;
}

#global-contact-footer .contact-footer-row-4 {
 width: 46%!important;
 margin-right: 0!important;
}
}


@media all and (min-width: 420px) and (max-width: 600px) {
#global-contact-footer .contact-footer-row-1 {
 width: 100%!important;
 margin-right: 0!important;
 margin-bottom: 60px!important;
}

#global-contact-footer .contact-footer-row-2 {
 width: 100%!important;
 margin-right: 0!important;
 margin-bottom: 4%!important;
}

#global-contact-footer .contact-footer-row-3 {
 width: 100%!important;
 margin-right: 0!important;
 margin-bottom: 4%!important;
}

#global-contact-footer .contact-footer-row-4 {
 width: 100%!important;
 margin-right: 0!important;
}
}



@media all and (min-width: 981px) {
	.service-heading-nonserif h2 {
		font-size: max(1.8vw, 28px)!important;
	}

	.service-heading-serif h2 {
		font-size: max(2.8vw, 42px)!important;
	}
	
	.header-banner-serif h1 {
		font-size: max(4vw, 60px)!important
	}
	
	.header-banner-nonserif h1 {
		font-size: max(3.5vw, 50px)!important;
	}
}



/* Hauptmenü ------------------------------------------------------------------------------------------*/
img#logo {
 max-width: 350px;
}

#page-container #main-header .container {
 width: 90%!important;
}


.et-db #et-boc .et-l div[class^='et_pb_module et_pb_menu et_pb_menu_'].et_pb_menu ul li a.dipi-cta-button, .et-db #et-boc .et-l ul > li > a.dipi-cta-button, body #page-container .et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button, header.et-l--header ul > li > a.dipi-cta-button, header#main-header #et-top-navigation nav > ul > li > a.dipi-cta-button, nav > ul > li > a.dipi-cta-button {
 padding-left: 2px!important;
 padding-right: 2px!important;
 border-left: none!important;
 border-right: none!important;
 transition: all 0.3s ease;
}

a.dipi-cta-button:hover span {
 transform: scale(0.9, 0.89)!important;
}

#et_mobile_nav_menu ul#mobile_menu {
 text-align: center;
}

#et_mobile_nav_menu ul#mobile_menu li.dipi-cta-button-menu-item {
 margin-top: 15px;
}


@media all and (min-width: 981px) and (max-width: 1080px) {
	#main-header .container .logo_container a img {
	 max-width: 300px!important;
	}
	
	#et-top-navigation nav#top-menu-nav ul li {
	 padding-right: 12px!important;
	}
}


@media all and (min-width: 621px) and (max-width: 980px) {
	.et_header_style_left #logo {
	 max-width: 55%!important;
	}
}


@media all and (max-width: 620px) {
	.et_header_style_left #logo {
	 max-width: 75%!important;
	}
}



/* Preisliste -----------------------------------------------------------------------------------------*/
.dsm_pricelist_child {
 padding-bottom: 0!important;
 margin-bottom: 35px!important;
}

.dsm-pricelist-header {
 margin-bottom: 4px!important;
}

.dsm-pricelist-separator {
 padding-top: 12px;
}

img.dipi-balloon-last-element, .dsm-pricelist-title img {
 width: 20px!important;
 margin-left: 3px!important;
 transform: translateY(3px)!important;
}


/* Preisliste Mobil-Anpassungen ----------------------------------------------------------------------*/
@media all and (max-width: 400px) {
.preise-damen-1 .dsm_pricelist_child_0 .dsm-pricelist-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.preise-damen-1 .dsm_pricelist_child_0 .dsm-pricelist-title {
 max-width: 60%;
}

.preise-damen-1 .dsm_pricelist_child_0 .dsm-pricelist-price {
 width: 50%;
 text-align: right;
}

.preise-damen-1 .dsm_pricelist_child_0 .dsm-pricelist-separator {
 display: none;
}
}



/* Service-Popups -------------------------------------------------------------------------------------*/
.dsm-popup button.mfp-close {
 background-color: #202125;
}

.dsm-popup button.mfp-close .et-pb-icon {
 color: white;
}



/* Divi Kontaktformular Danke-Nachricht ---------------------------------------------------------------*/
.et_pb_contact_form_container .et-pb-contact-message p {
 border: 3px solid white;
 background-color: #202125;
 padding: 15px;
 font-size: 20px;
 line-height: 1.5;
}

.et_pb_contact_field_checkbox label {
 color: white!important;
 font-weight: 400;
}



/* Footer-Menü ----------------------------------------------------------------------------------------*/
.adress-icons .et_pb_blurb_container {
 padding-left: 5px!important;
}

.parkdetails ul li {
 margin-bottom: 8px;
}

#menu-footer-menue, #menu-footer-menue-en {
 color: #bbbbbb;
 padding-top: 26px;
}

#menu-footer-menue {
 width: fit-content;
 margin: auto;
}

@media only screen and (max-width: 760px) {
p#footer-info, #et-info, #menu-footer-menue {
 display: grid!important;
}
	
#menu-footer-menue li {
 padding-left: 0!important;
 padding-right: 0!important;
 margin-bottom: 8px;
}
  
.dce-credits-separator {
 display: none;
}
}



/* Mobile Stacking ---------------------------------------------------------------------------*/
@media all and (max-width: 767px) {
.custom-row {
display: -webkit-box!important;
display: -moz-box!important;
display: -ms-flexbox!important;
display: -webkit-flex!important;
display: flex!important;
-webkit-flex-wrap: wrap!important;
flex-wrap: wrap!important;
}

.first-on-mobile {
-webkit-order: 1;
order: 1;
margin-bottom: 25px!important;
}

.second-on-mobile {
-webkit-order: 2;
order: 2;
margin-bottom: 0!important;
}

.third-on-mobile {
-webkit-order: 3;
order: 3;
}

.fourth-on-mobile {
-webkit-order: 4;
order: 4;
}

.custom-row:last-child .et_pb_column:last-child {
margin-bottom: 30px;
}
}



/* Gravity Forms --------------------------------------------------------------------------------------*/
.gform_footer .gform_button.button {
 cursor: pointer!important;
}

.ginput_container input, .ginput_container textarea {
 padding: 15px!important;
 border: 3px solid #cfd1d5;
}

.gform_footer input.gform_button {
 background-color: black!important;
 color: white!important;
 font-size: 18px!important;
 font-weight: 600;
 border: none!important;
 border-radius: 0;
 padding: 10px 18px!important;
 cursor: pointer;
 transition: 0.3s all;
 -o-transition: 0.3s all;
 -moz-transition: 0.3s all;
 -webkit-transition: 0.3s all;
}

.gform_footer input.gform_button:hover {
 background-color: #353a41!important;
}


body .gform_wrapper ul li.gfield, .gform_wrapper div.ginput_container.ginput_container_text, div.ginput_container.ginput_container_email, div.ginput_container.ginput_container_phone {
 margin-top: 0!important;
}

body .gform_wrapper ul li {
 margin-top: 15px;
}

.gform_wrapper li.hidden_label input {
 margin-top: 3px;
}

.gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type=text], .gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select {
 margin-bottom: 0;
}

.gfield_required {
 display: none!important;
}

.ginput_container_consent input[type=checkbox] {
 width: 20px;
 height: 20px;
 vertical-align: bottom;
 float: left;
 margin-right: 10px;
 margin-top: 4px!important;
}

.ginput_container_consent label.gfield_consent_label {
 font-size: 13px;
 line-height: 1.6!important;
 display: table;
}

.gform_footer.top_label {
 text-align: right!important;
}


