/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/


/*********************************************************************************************************************************

	
	[Table of contents]
	
	01. Variablen
	02. Basics
	03. Helper classes
	04. Grid
	05. Navigation
	06. Elements
	07. Formular
	08. Responsive
	
	
	[Colors]
	
	# main color 		--> # = rgb()
	# black				--> #000000
	# white				-->	#ffffff
	
	
	[Typography]
	
	# content   		--> 
	# titles 			--> 
	

/*******************************************************************************************************************************/
/*****Variablen*****************************************************************************************************************/
/*******************************************************************************************************************************/

:root {
	--black: #000000;
	--white: #ffffff;
	--grey: #f6f6f6;
	--blue: #00b4c8;
	--red: #e4322b;
	--green: #5da637;
	--yellow: #F9E36A;
}

/*******************************************************************************************************************************/
/*****Basics********************************************************************************************************************/
/*******************************************************************************************************************************/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	position: relative;
}

h1, h2, h3, h4, h5, h6 {
	padding-bottom: 0 !important;
}

/*******************************************************************************************************************************/
/*****Helper classes************************************************************************************************************/
/*******************************************************************************************************************************/

.transition, #menu-hauptnavigation a, #mobile_menu2 a, .myls-blog article::after, .myls-teaser div[class*="et_pb_divider"] {
	transition: all 250ms ease-in-out;	
	-moz-transition: all 250ms ease-in-out;	
	-webkit-transition: all 250ms ease-in-out;	
	-ms-transition: all 250ms ease-in-out;	
	-o-transition: all 250ms ease-in-out;	
}


/*******************************************************************************************************************************/
/*****Grid**********************************************************************************************************************/
/*******************************************************************************************************************************/

.row {
	clear: both;
	overflow: hidden;
}

.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 {
    float: left;
}

.col {
	margin-right: 1.5%;
}

.span1 {
	width: 6.9583333333333%;
}

.span2 {
	width: 15.416666666667%;
}

.span3 {
	width: 23.875%;
}

.span4 {
	width: 32.333333333333%;
}

.span5 {
	width: 40.791666666667%;
}

.span6 {
	width: 49.25%;
}

.span7 {
	width: 57.708333333333%;
}

.span8 {
	width: 66.166666666667%;
}

.span9 {
	width: 74.625%;
}

.span10 {
	width: 83.083333333333%;
}

.span11 {
	width: 91.541666666667%;
}

.span12 {
	width: 100%;
}

/*******************************************************************************************************************************/
/*****Navigation****************************************************************************************************************/
/*******************************************************************************************************************************/

#hauptnavigation ul.et-menu li.menu-item-has-children {
	cursor: pointer;
}

#hauptnavigation ul.et-menu li ul.sub-menu {
	top: calc(100% - 31px);
	padding: 25px;
	width: 280px !important; /* Default: 240px */
}

#hauptnavigation ul.et-menu li ul.sub-menu li {
	padding: 0;
}

#hauptnavigation ul li.current-menu-parent > a {
	color: var(--yellow) !important;
}

#hauptnavigation ul.et-menu li ul.sub-menu li a {
	width: 240px !important; /* Default: 200px */
}

#hauptnavigation ul.et-menu li ul.sub-menu li a {
	padding-left: 0;
	padding-right: 0;
}

#hauptnavigation ul.et-menu li ul.sub-menu li:hover a {
	color: var(--yellow) !important;
}

#hauptnavigation ul.et-menu li ul.sub-menu li a:hover {
	background: transparent !important;
}


/*******************************************************************************************************************************/
/*****Elements******************************************************************************************************************/
/*******************************************************************************************************************************/

/* Teaser */

.myls-teaser:hover div[class*="et_pb_divider"] {
	width: 100px;
}


/* Blog */

.myls-blog article {
	position: relative;
	padding: 22px;
}


.myls-blog article div.et_pb_image_container,
.myls-blog article div.et_pb_image_container a.entry-featured-image-url {
  	margin-bottom: 20px !important;
}

.myls-blog article::after {
  	content: "";
  	visibility: visible;
  	position: absolute;
  	bottom: 0;
  	left: 50%;
  	transform: translateX(-50%);
  	width: 120px;
  	height: 2px;
  	background: var(--blue);
}

.myls-blog article:hover::after {
  	width: 100px;
}


/* Fliesstext */

.et_pb_text_inner p {
	padding-bottom: 10px;
}

.et_pb_text_inner p:last-child {
	padding-bottom: 0;
}


/* Icon */

.myls-icon {
	display: inline-block;
	border-radius: 100%;
}

.myls-icon img {
	aspect-ratio: 1/1;
	object-position: center;
}


/* Öffnungszeiten */

.myls-oeffnungszeiten .business-hours{
	width: 100% !important;
	max-width: 100% !important;
}

.myls-oeffnungszeiten.short .openingHours-day {
	flex-direction: column !important;
	margin-bottom: 10px;
}

.myls-oeffnungszeiten.short .openingHours-day:last-child {
	margin-bottom: 0 !important;
}

.myls-oeffnungszeiten.full .openingHours-time br:before {
	content: "|"
}

.myls-oeffnungszeiten.full .openingHours-day {
	justify-content: flex-start;
	gap: 5px;
}

.myls-oeffnungszeiten.full .openingHours-day > div:first-child::after {
	content: ": ";
}

.myls-oeffnungszeiten.full .openingHours-time br {
	display: none;
}


/* Lightbox */

.mfp-title {
	display: none !important;
}



/*******************************************************************************************************************************/
/*****Formular******************************************************************************************************************/
/*******************************************************************************************************************************/

div.nf-field-container { /* Container */
	margin-bottom: 15px !important;
}

.ninja-forms-field { /* Eingabefelder */
	background: var(--grey) !important;
	border: none !important;
	border-left: 4px solid var(--blue) !important;
	padding: 16px !important;
	font-size: 16px !important;
  	color: #151513 !important;
  	line-height: 1.6em;
}

.ninja-forms-field::placeholder { /* Eingabefelder */
	font-size: 16px !important;
  	color: #151513 !important;
  	line-height: 1.6em;
}

.nf-field-element ul { /* Checkbox-Gruppe */
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 20px
}

.nf-field-element ul label {
	margin-left: 20px !important;
}

.nf-fu-fileinput-button { /* File-Upload */
	color: #333 !important;
	background: var(--white) !important;
	border: 3px dashed #ececec !important;
	transition: all .4s !important;
	padding: 30px !important;
	width: 100% !important;
	margin-bottom: 0px !important;
}

.nf-fu-progress {
	display: none;
}

.nf-mp-footer .nf-next-previous {
  	display: flex;
  	align-items: center;
  	justify-content: center;
	gap: 10px;
	margin: 0 !important;
}

.nf-next-previous::after {
  	display: none !important;
}

div.nf-field-container.submit-container { /* Button */
	text-align: center;
	margin-bottom: 0 !important;
}

.ninja-forms-field[type="submit"],
input[type="button"] {
	color: var(--white) !important;
	border: none !important;
	border-radius: 100px;
	font-family: 'FuturaStd-Heavy', Helvetica, Arial, Lucida, sans-serif !important;
	line-height: 1.6em !important;
	font-size: 16px;
	font-weight: 500 !important; 
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	background: var(--green) !important;
	padding: 17px 40px !important;
	cursor: pointer;
	transition: all 250ms ease-in-out;
}

.ninja-forms-field[type="submit"]:hover,
input[type="button"]:hover {
	background: var(--yellow) !important;
}

div.nf-field-container.submit-container .nf-after-field { /* Button */
	display: none !important;
}

.nf-error-msg { /* Fehlertext */
	font-size: 14px !important;
	line-height: 1;
	text-align: center;
}

.nf-error-required-error {
	text-align: left !important;
}


/*******************************************************************************************************************************/
/*****Responsive****************************************************************************************************************/
/*******************************************************************************************************************************/

@media all and (max-width: 1500px) {
	#phone-button {
		display: none;
	}
}

@media all and (max-width: 1280px) {	
	#hauptnavigation .et_pb_menu__menu {
		display: none;
	}
	
	#hauptnavigation .et_mobile_nav_menu {
		display: flex;
		align-items: center;
	}
	
	#hauptnavigation ul.et_mobile_menu {
		top: calc(100% + 30px);
		padding: 4%;
		padding-top: calc(4% - 7px);
		padding-bottom: calc(4% - 7px);
	}
	
	#hauptnavigation .mobile_nav.opened .mobile_menu_bar:before {
		content: "\4d" !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 ul.hide {
		display: none !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li {
		position: relative;
		list-style: none;
		padding: 0;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li a {
		background: transparent;
		font-weight: initial !important;
		text-align: left;
		padding: 7px 0;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 > li:last-child a {
		border-bottom: none !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li li {
		padding-left: 0;
		padding-right: 0;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li a + span {
		position: absolute;
		display: block;
		right: 0;
		top: 0;
		left: 0;
		width: 100%;
		padding: 7px 0;
		text-align: right;
		cursor: pointer;
		z-index: 10 !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li.menu-item-has-children > a + span.menu-closed:hover:before {
		color: var(--red) !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li.menu-item-has-children > a + span.menu-closed:before {
		content: "\33";
		display: block;
		color: var(--white);
		font-size: 32px;
		font-family: ETmodules;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu1 li.menu-item-has-children > a + span.menu-closed.menu-open:before {
		content: "\32";
	}
}


/* Tablet */

@media all and (max-width: 980px) {
	
	.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 {
		width: 100%;
		float: none;
	}
	
	.col {
		margin-right: 0;
	}
	
	.custom_row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
	}
	
	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	}
	
	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	}
	
	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	
	#hauptnavigation ul.et_mobile_menu {
		padding: 30px;
	}
	
	.myls-teaser:hover div[class*="et_pb_divider"] {
		width: 80px;
	}

	.myls-blog article::after {
		left: 0;
		width: 100px;
		transform: translateX(0);
	}

	.myls-blog article:hover::after {
		width: 80px;
	}
	
	div.nf-field-container.submit-container {
		text-align: left !important;
	}
	
	.nf-field-element ul { /* Checkbox-Gruppe */
		justify-content: flex-start;
	}
	
	.nf-mp-footer .nf-next-previous {
		justify-content: flex-start;
	}
	
}


/* Smartphone*/

@media all and (max-width: 767px) {
	.myls-teaser:hover div[class*="et_pb_divider"] {
		width: 60px;
	}
	
	.myls-blog article::after {
		width: 80px;
	}

	.myls-blog article:hover::after {
		width: 60px;
	}
}


@media all and (max-width: 480px) {
	
}