/*---------------------------------------------------------------------------------

 Theme Name:   Divi Child Theme
 Theme URI:    https://lukas-fischer.de/
 Description:  Child Theme für Divi erstellt von Lukas Fischer.
 Author:       Lukas Fischer
 Author URI:   https://lukas-fischer.de
 Template:     Divi
 Version:      1.1.9


------------------------------ ADDITIONAL CSS HERE ------------------------------*/

/* Erste und zweite Ebene im Dropdown-Menü: Trennlinie zwischen Listenelementen */
#top-menu .sub-menu li {
  border-bottom: 2px solid #e0e0e0; /* dezente graue Linie */
 padding: 8px 12px;
}

/* Letztes Element ohne Linie */
#top-menu .sub-menu li:last-child {
  border-bottom: none;
}


/* Increase inner width of drop-down menu */
.et-menu li li a {
    padding: 6px 20px; 
    width: 320px;
}
/* Increase width of drop-down menu*/
.nav li ul {
    position: absolute;
    padding: 20px 0; 
    width: 360px;
    
}

#top-menu li li a {
padding: 6px 20px;
width: 320px;
}









.detail-contact-form textarea + br {
  display: none;
}



.detail-contact-form {
  max-width: 600px;
  padding: 20px 15px;
  font-family: sans-serif;
  text-align: left; /* Linksbündig */
}

.detail-contact-form h3 {
  font-size: 20px;
  margin-bottom: 15px;
}

.detail-contact-form form {
  display: flex;
  flex-direction: column;
  gap: 5px; /* Etwas engerer Abstand */
}

.detail-contact-form label {
  font-weight: bold;
  margin-bottom: 3px; /* Weniger Abstand unter dem Label */
  display: block;
}

.detail-contact-form input[type="text"],
.detail-contact-form input[type="email"],
.detail-contact-form textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 15px;


  box-sizing: border-box;
}

.detail-contact-form textarea {
  min-height: 100px;
  resize: vertical;
}

.detail-contact-form input[type="submit"] {
  background-color: #d4af37;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: fit-content;
	font-weight: bold;
}

.detail-contact-form input[type="submit"]:hover {
  background-color: #b7952d;
	font-weight: bold;
}






.oo-detailsheadline {
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
    .oo-detailsheadline {
        margin-bottom: 10px !important;
    }

    .oo-detailsheadline h1 {
        font-size: 22px !important;
    }
}



@media (max-width: 768px) {
    .oo-detailsfreetext {
        font-size: 15px !important;
    }
}



@media (max-width: 768px) {
    .oo-detailstable {
        display: flex;
        flex-wrap: wrap;
    }

    .oo-detailslisttd {
        font-size: 14px !important; /* Kleinere Schrift für bessere Mobilansicht */
        padding: 5px 15px 5px 0 !important; /* Mehr Abstand zwischen den Spalten */
        display: inline-block;
        width: 50%; /* Hält Spalten nebeneinander */
        box-sizing: border-box;
    }

    .oo-detailslisttd:nth-child(odd) {
        font-weight: bold !important; /* Labels fett für bessere Lesbarkeit */
        padding-right: 20px !important; /* Extra Abstand zur Antwort */
    }

    .oo-detailslisttd:nth-child(even) {
        padding-left: 10px !important; /* Mehr Abstand zur linken Spalte */
    }
}








.oo-listobjectwrap {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !important; /* Falls Inhalte über die abgerundeten Ecken hinausragen */
}







.oo-listtitle {
    min-height: 60px !important; /* Genug Platz für längere Titel */
    word-wrap: break-word !important; /* Verhindert abgeschnittene Wörter */
    overflow: visible !important;
    display: flex !important;
    align-items: center !important; /* Zentriert den Text vertikal */
    justify-content: center !important; /* Zentrierter Text für sauberes Layout */
    padding: 10px 15px !important; /* Mehr Platz innerhalb des Titels */
    color: #468386 !important;
    font-size: 16px !important; /* Fixierte Schriftgröße */
    margin-top: 5px !important; /* Mehr Abstand nach oben (zum Bild) */
    margin-bottom: 10px !important; /* Weniger Abstand nach unten (zu den Details) */
}






.oo-details-btn {
    background-color: #d4af37 !important;
    color: #fff !important;
    font-weight: bold !important;
    border: none !important;
    padding: 10px 20px !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    border-radius: 5px !important;
    transition: background-color 0.3s ease !important;
	margin-top: 8px !important;
}

.oo-details-btn:hover {
    background-color: #b9972f !important;
}





/* Increase inner width of drop-down menu */
.et-menu li li a {
    padding: 6px 20px; 
    width: 300px;
}
/* Increase width of drop-down menu*/
.nav li ul {
    position: absolute;
    padding: 20px 0; 
    width: 340px;
    
}

#top-menu li li a {
padding: 6px 20px;
width: 300px;
}



/*MOBILES MENÜ adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/* Alle mobilen Menü-Items fett darstellen */
.et_mobile_menu li a,
.et-db #et-boc .et-l .et_mobile_menu li a {
    font-weight: bold !important;
}



/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '33';
	color: #00d263;
	background: #f0f3f6;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	color:#8e1b68;
	display: block;
	font-size:30px;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
} 




/* Alle mobilen Menü-Items fett darstellen */
.et_mobile_menu li a,
.et-db #et-boc .et-l .et_mobile_menu li a {
    font-weight: bold !important;
}









@media (max-width: 768px) {
    .wp-block-ub-styled-list .ub_styled_list_item {
        line-height: 1.1em !important;
        margin-left: 5px !important;
        padding-left: 0 !important;
        margin-bottom: 10px !important; /* Fügt Abstand zwischen den Listenelementen hinzu */
    }
    
    .wp-block-ub-styled-list {
        padding-left: 0 !important;
        margin-left: 5px !important;
    }
}





/* Abstand für h2 nach unten im Blog*/

h2.wp-block-heading {
 	margin-top: 7px !important;
	margin-bottom: 16px !important;
}


/* Abstand für h3 nach unten im Blog*/

h3.wp-block-heading {
 	margin-top: 7px !important;
	margin-bottom: 16px !important;
}

/* Abstand für h4 nach unten im Blog*/

h4.wp-block-heading {
  	margin-top: 7px !important;
	margin-bottom: 16px !important;
}










/*Kontaktformular*/

.et_contact_bottom_container {
    float: none;
    text-align: right;
    display: block !important;
  margin-top:30px;
  margin-left:20px;
}

@media (min-width: 768px) and (max-width: 991.98px){
  .et_contact_bottom_container {
     margin-top: -17px;
  }
}

@media (min-width: 300px) and (max-width: 767.98px){
  .et_contact_bottom_container {
     margin:25px;
    text-align:center;
  }
}




/*design back to top button*/

.et_pb_scroll_top.et-pb-icon {
	    background: rgba(70, 131, 134, 0.5);
		bottom: 280px;
		right: 20px;
    	border-radius: 25px;
}

.et_pb_scroll_top.et-pb-icon:hover {
	    background: #468386;
		bottom: 280px;
		right: 20px;
    	border-radius: 25px;
}

.et_pb_scroll_top.et-visible {
    opacity: 1;
    -webkit-animation: fadeInBottom 1s 1 cubic-bezier(.77,0,.175,1);
    -moz-animation: fadeInBottom 1s 1 cubic-bezier(.77,0,.175,1);
    -o-animation: fadeInBottom 1s 1 cubic-bezier(.77,0,.175,1);
    animation: fadeInBottom 1s 1 cubic-bezier(.77,0,.175,1);
} 


/*mobil reihenfolge ändern anleitung:

display: flex;
flex-wrap: wrap;   ->  in mobile custom css der entsprechenden row einfügen

dann: order:1; order:2; usw bei den entsprechenden spalten in die mobile custom css einfügen

*/


/*place button modules next to each other in the same column -> klasse .inline-buttons in divi row einfügen, damit aktiv*/

.inline-buttons .et_pb_button_module_wrapper {
    display: inline-block;
}

.inline-buttons {
text-align: center !important;
}




/* CSS for buttons - Attention Grabber - Pulse */
#page-container .et-l .et_pb_section .dl-pulse {
  animation: button-pulse 2.0s infinite;
}

@keyframes button-pulse {

  0%,
  30%,
  60%,
  100% {
    transform: scale(1);
  }

  8%,
  12% {
    transform: scale(1.03);
  }
}

#page-container .et-l .et_pb_section .dl-pulse:hover {
  animation: none;
}




/*prevent horizontal scroll on mobile*/

@media all and (max-width: 980px) {
	html,
	body {
		overflow-x: hidden;
	}
	body {
		position: relative
	}
}

@media all and (max-width: 980px) {
#page-container {overflow:hidden;}	
}
