/*
 Theme Name: Divi-Mastermind-Child-Theme
 Theme URI: https://www.divimastermind.com/
 Description: Dies ist ein <b>ready-to-start</b> Child-Theme f&uuml;r Divi. Entwickelt und bereitgestellt von den Divi Masterminds. Dieses Theme beinhaltet alle notwendigen Dateien, um den schnellen und einfach Start zu erm&ouml;glichen.
 Author: Divi Mastermind - Benny Hozjan und Frank Oschatz
 Author URI: https://divimastermind.com/
 Template: Divi
 Version: 1.0.0
 Tag: divi, child-theme, rawbone, easy-to-use, mastermind, german-group, 
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/*  ==================================================================
	STANDARD CSS =====================================================
	==================================================================  */
	
	#wpadminbar {
    z-index: 9999999;
	}
	
	* {
	margin:0;
	padding:0;
	box-sizing: border-box;
	}
	html {
	font-size: 62.5%;
	}

	/* toolbar sticky by scroll */
	.mce-top-part {
	position: sticky!important;
	top: -60px;
	}

	/*increase the height of the Divi inner field settings modal*/
	.et-fb-field-settings-modal {
	  max-height: 500px!important;
	}

/*increase the height of the Divi inner field settings modal*/
	.et-fb-field-settings-modal {
	  max-height: 600px!important;
	}


/* Align Buttons in bottom of a row */
	.lem_fixed_buttons .et_pb_column {
	padding-bottom:20px;}
	.lem_fixed_buttons .et_pb_button_module_wrapper {
	    	position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
	}

/* Dropdown Fix */
	.dropdown_fix ul {
	right: 0px !important;
	}

/* Fliestext */
	.et_pb_module.et_pb_text p,
	.et_pb_module.et_pb_text ul li,
	.et_pb_toggle.et_pb_module.et_pb_accordion_item .et_pb_toggle_content,
	.et_pb_toggle.et_pb_module.et_pb_accordion_item .et_pb_toggle_content ul li,
	.janolaw-paragraph {
  	font-size: clamp(1.8rem, 2vw, 2rem);
  	line-height: clamp(1.8rem, 2vw, 2.9rem);
  	font-weight: 300;
	}
	
	
	/* Hyperlinks */
	.et_pb_module.et_pb_text a,
	.et_pb_module.et_pb_post_content a {
  	font-size: 2rem;
  	line-height: 2.9rem;
  	color: #64020E;
  	text-decoration: none;
	}

/* Öffnungszeiten */
	.et_pb_module.dsm_business_hours_child {
  	font-size: 18px;
  	line-height: 2.9rem;
	}

	
	
	/* Business Days Überschriften */ 
	.et_pb_module.et_pb_text p.openingdays,
	.et_pb_module.et_pb_blurb p.openingdays {
    font-size: clamp(1.8rem, 2vw, 1.8rem);
  	line-height: clamp(1.8rem, 2vw, 2.3rem);
  	font-weight: 500;
	}

/* Footer */

	.et_pb_column .et_pb_module h3.footer,
	.et_pb_column .et_pb_module p.footer,
	.et_pb_column .et_pb_module a.footer {
		font-size: 1.7rem!important;
		line-height: 2.1rem!important;
	}
	
/* Footer Credits */

	.et_pb_column .et_pb_module h3.lem-credits,
	.et_pb_column .et_pb_module p.lem-credits,
	.et_pb_column .et_pb_module a.lem-credits {
		font-size: 1.5rem;
		line-height: 2.1rem;
	}
	
	.et_pb_column .et_pb_module a.lem-credits {
		text-decoration: underline;
	}


/* H1-H6 Überschriften */
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h1,
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h1.main_h1 {
		font-size: clamp(3rem, 6vw, 5rem);
		line-height: clamp(3rem, 6vw, 5rem);
		font-weight: 400!important;
	}
	
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module.et_pb_text p.sub_p {
		font-size: clamp(2rem, 6vw, 4rem);
		line-height: clamp(2rem, 6vw, 4rem);
		font-weight: 800;
	}

	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module.et_pb_text h1.sub_h1 {
		font-size: clamp(1.8rem, 6vw, 3rem);
		line-height: clamp(1.8rem, 6vw, 3rem);
		font-weight: 300!important;
	}
	
	/*.et_pb_column .et_pb_module.et_pb_text p.sub_p {
	font-size: clamp(2rem, 6vw, 6rem);
	line-height: clamp(2rem, 6vw, 6rem);
	}*/

	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h2,
	.et_pb_section .et_pb_column .et_pb_module .wpfd-content.wpfd-content-ggd .wpfd-container.show_category_title .wpfd-col.wpfd-container-ggd .wpfd-categories h2 {
	  	font-size: clamp(2.7rem, 2vw, 3.3rem);
		line-height: clamp(2.7rem, 3vw, 3.3rem);
		font-weight: 200!important;
	}
	
	.et_pb_column .et_pb_module h2.brand {
	  text-transform: uppercase;
	}
	
	.et_pb_section .et_pb_column .et_pb_module .wpfd-content.wpfd-content-ggd .wpfd-container.show_category_title .wpfd-col.wpfd-container-ggd .wpfd-categories h2 {
		color: #009fe3!important;
	}
	
	.et-db .et-boc #et-main-area .et-l .et_pb_section .h2_v2 .dipi-text h2.dipi-hover-box-heading,
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_module .et_pb_text_inner h2.h2_v2 {
		font-size: clamp(2.2rem, 2vw, 2.5rem)!important;
		line-height: clamp(2.2rem, 2vw, 2.5rem)!important;
		font-weight: 500!important;
	}
	
	
	
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h3 {
	  	font-size: clamp(2.3rem, 2vw, 2.6rem);
		line-height: clamp(2.3rem, 2vw, 2.6rem);
        font-weight: 300;
	}
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h4 {
	  	font-size: clamp(2.3rem, 2vw, 2.8rem);
		line-height: clamp(2.3rem, 2vw, 2.8rem);
	}
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h5 {
	  	font-size: clamp(2.3rem, 2vw, 2.8rem);
		line-height: clamp(2.3rem, 2vw, 2.8rem);
	  	font-weight:900;
	}
	.et-db .et-boc #et-main-area .et-l .et_pb_section .et_pb_column .et_pb_module h6 {
	  	font-size: clamp(2.3rem, 2vw, 2.8rem);
		line-height: clamp(2.3rem, 2vw, 2.8rem);
	}






/*  ==================================================================
	ALIGN BUTTONS TO BOTTOM ==========================================
	==================================================================  */
 
 
        /* buttons fixed to the bottom */
            .lem_fixed_buttons .et_pb_column {
                padding-bottom:30px;}
            .lem_fixed_buttons .et_pb_button_module_wrapper {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                margin: auto;}





:root {
  --fls-primary: #2b2b2b;         /* Labels, Texte, Rahmen, Descriptions */
  --fls-button: #707A33;          /* Button Standard */
  --fls-button-hover: #707A33;    /* Button Hover Hintergrund & Rahmen */
  --fls-hover-text: #F8F3EE;      /* Button Hover Textfarbe */
  --fls-required: #707A33;        /* Pflichtfeld-Sternchen */
  --fls-error: #ff4d4d;           /* Fehlermeldungen */
  --fls-background-light: transparent;
}

/* ================================================================
   GRAVITY FORMS – FLS Style mit #707A33 (Juli 2025 Edition)
   ================================================================ */

.et_pb_module .gform_wrapper form .gform_footer.top_label {
  margin-top: 1.5em;
  padding: 1em 0;
  border-top: 1px solid var(--fls-primary);
  float: left;
  width: 98%;
  margin-right: 2%;
}

/* Inputs, Textarea, Select */
.gform_wrapper .gform_body .gform_fields .gfield input[type=email],
.gform_wrapper .gform_body .gform_fields .gfield textarea,
.gform_wrapper .gform_body .gform_fields .gfield select,
.gform_wrapper .gform_body .gform_fields .gfield input[type=text],
.gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  border: 1px solid var(--fls-primary);
  border-radius: 3px;
  padding: 0 0.5rem 0!important;
  background: var(--fls-background-light);
  color: var(--fls-primary);
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  height: 45px;
}

.gform_wrapper .gform_body .gform_fields .gfield textarea {
  min-height: 180px;
}

.gform_wrapper .gform_body .gform_fields .gfield input:focus,
.gform_wrapper .gform_body .gform_fields .gfield textarea:focus,
.gform_wrapper .gform_body .gform_fields .gfield select:focus {
  border: 1px solid var(--fls-primary);
  background: var(--fls-background-light);
  color: var(--fls-primary);
  padding: 10px;
}

.gform_wrapper .gform_body .gform_fields .gfield select {
  margin-top: 1px;
  background: var(--fls-background-light)!important;
  color: var(--fls-primary);
}

/* Submit Button */
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit] {
  color: var(--fls-button)!important;
  font-size: 15px;
  text-transform: uppercase;
  padding: 10px 30px;
  border: 1px solid var(--fls-button)!important;
  border-radius: 3px;
  background-color: transparent;
  box-shadow: none;
  transition: all 0.3s ease;
}

.gform_wrapper .gform_footer input[type=submit]:hover {
  border: 1px solid var(--fls-button-hover)!important;
  background-color: var(--fls-button-hover);
  color: var(--fls-hover-text)!important;
}

/* Labels */
.gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
  color: var(--fls-primary);
  font-weight: 400;
}

/* Pflichtfeld-Stern */
.gform_wrapper .gform-body .gfield label.gfield_label span.gfield_required {
  color: var(--fls-required);
}

/* Field Descriptions und Zusatztexte */
.gform_fields .gfield.gfield--type-html.gfield_html,
#input_1_6.gfield_checkbox .gchoice.gchoice_1_6_1 label#label_1_6_1.gform-field-label,
.gform_wrapper .gfield_description {
  font-size: 18px;
  line-height: 1.3em;
  color: var(--fls-primary);
}

/* Placeholder Texte – volle Browser-Kompatibilität */
.gform_wrapper ::-webkit-input-placeholder {
  color: var(--fls-primary)!important;
  opacity: 1;
}
.gform_wrapper :-moz-placeholder {
  color: var(--fls-primary)!important;
  opacity: 1;
}
.gform_wrapper ::-moz-placeholder {
  color: var(--fls-primary)!important;
  opacity: 1;
}
.gform_wrapper :-ms-input-placeholder {
  color: var(--fls-primary)!important;
  opacity: 1;
}
.gform_wrapper ::placeholder {
  color: var(--fls-primary)!important;
  opacity: 1;
}

/* Fehlermeldungen */
.gform_wrapper .gform_validation_errors h2.gform_submission_error,
.gform-body > div.gform_fields > div > div.validation_message.gfield_validation_message,
.gform_wrapper.gravity-theme .validation_error,
.entry-content .gform_wrapper.gravity-theme .gform_validation_errors {
  font-size: 14px!important;
  line-height: 1.2em!important;
  font-weight: 400!important;
  color: var(--fls-error);
  border: solid 1px var(--fls-error);
  border-radius: 5px;
}

/* Checkbox Labels */
.single-column-form ul.gfield_checkbox li input[type=checkbox]:checked+label,
.single-column-form ul.gfield_checkbox li input[type=checkbox]:not(:checked)+label {
  margin-left: 19px;
  font-weight: 400;
  font-size: 20px;
  color: var(--fls-primary);
}