/*
 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 =====================================================
	==================================================================  */


.vertical-align {
  display:flex;
  flex-direction:column;
  justify-content:center;
}

@media only screen and (min-width: 981px) {
    #bh_header.fixed {
        position: fixed;
        width: 100%;
        top: 0;
        z-index: 999; 
        animation: smoothScroll 1s forwards; 
    }

    @keyframes smoothScroll {
        0% {    
            opacity: .7;
            transform: translateY(-200px);
        }
        100% {
            opacity: 1;
            transform: translateY(0px);
        }
    }

    .move-top { 
        margin-top: 91px;
    }
}


#bh_header.fixed {
    padding-top: 10px!important;
    padding-bottom: 0px!important;
}


/* Farbverwaltung */
:root {
    --primary-blue: rgb(234, 100, 129, 1.0); /* Purple */
    --primary-blue-light: rgb(234, 100, 129, 0.6); /* Hellblau */
    --primary-red: rgba(0, 0, 0, 1.0); /* Schwarz */
    --primary-red-light: rgba(0, 0, 0, 0.6); /* Hellrot */
    --border-black: rgba(0, 0, 0, 1.0); /* Schwarz */
    --background-gray: rgba(102, 102, 102, 0.05); /* Hellgrau */
    --text-black: rgba(0, 0, 0, 1.0); /* Textfarbe Schwarz */
    --error-red: rgba(125, 25, 20, 1.0); /* Fehlerfarbe Rot */
    --placeholder-black: rgba(0, 0, 0, 0.8); /* Platzhalter Schwarz */
}

/*  ==================================================================
	GRAVITY FORMS ====================================================
	==================================================================  */

/* Allgemeine Stile für Formularfuß */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper form .gform_footer.top_label,
	footer .et_pb_section .et_pb_module .gform_wrapper form .gform_footer.top_label {
		margin-top: 1.5em;
		padding: 1em 0;
		border-top: 1px solid var(--primary-red);
		float: left;
		width: 98%;
		margin-right: 2%;
	}

/* Allgemeine Stile für Textfelder, Auswahlfelder, Zahlenfelder, Textareas und andere Eingaben */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number],
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number],
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
	footer .et_pb_section .et_pb_module .gform_wrapper .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(--primary-blue);
		border-radius: 3px;
		padding: 0 2.5rem 0 1.375rem!important;
		background: var(--background-gray);
		color: var(--text-black);
		height: 45px; /* Höhe für alle Eingabefelder außer Textarea */
		-moz-appearance: menulist !important;
		-webkit-appearance: menulist !important;
	}

/* Stile für Textarea */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea {
		min-height: 250px; /* Mindesthöhe für Textarea */
		padding: 1rem 2.5rem 1rem 1.375rem!important; /* Anpassung des Innenabstands */
		resize: vertical; /* Ermöglicht das Anpassen der Größe durch den Benutzer */
	}

/* Fokus-Stile für Textfelder, Auswahlfelder, Zahlenfelder, Textareas und andere Eingaben */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select:focus,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number]:focus,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea:focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select:focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number]:focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield textarea:focus,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus {
		border: 1px solid var(--primary-blue-light);
		padding: 10px;
	}

/* Stile für Auswahl-Dropdown */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select {
		margin-top: 1px;
		background: var(--background-gray)!important;
	}

/* Absende-Button */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit],
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit] {
		color: rgba(255, 255, 255, 1.0)!important;
		font-size: 15px;
		text-transform: uppercase;
		padding: 20px 45px;
		border: 1px solid var(--primary-blue)!important;
		border-radius: 3px;
		box-shadow: 0 1px 0px var(--primary-blue-light);
		background-color: var(--primary-blue);
		transition: 0.5s; /* Button Animation */
	}

/* Absende-Button Hover */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit]:hover,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit]:hover {
		transition: .5s;
		border: 1px solid var(--primary-red)!important;
		background-color: var(--primary-red);
		color: rgba(255, 255, 255, 1.0)!important;
	}

/* Labels */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield .gfield_label,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
		color: var(--text-black);
		font-weight: 400;
	}

/* Datenschutzhinweis */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_fields .gfield_checkbox .gchoice label.gform-field-label,
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_fields .gfield.gfield--type-html,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_fields .gfield_checkbox .gchoice label.gform-field-label,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_fields .gfield.gfield--type-html {
		color: rgba(255, 255, 255, 1.0);
	}

/* Beschreibung */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gfield_description,
	footer .et_pb_section .et_pb_module .gform_wrapper .gfield_description {
		font-size: 18px;
		line-height: 1.3em;
		color: var(--text-black);
	}

/* Platzhalter-Stile */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input::placeholder,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input::placeholder {
		color: var(--placeholder-black) !important;
	}

/* Pflichtfelder */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gfield_required,
	footer .et_pb_section .et_pb_module .gform_wrapper .gfield_required {
		color: rgba(255, 255, 255, 1.0);
		font-weight: 300;
	}

/* Fehlermeldungen */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_validation_errors h2.gform_submission_error,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_validation_errors h2.gform_submission_error {
		font-size: 1.6rem!important;
		line-height: 2.1rem!important;
		font-weight: 400!important;
		color: var(--error-red);
	}

	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform-body > div.gform_fields > div > div.validation_message.gfield_validation_message,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform-body > div.gform_fields > div > div.validation_message.gfield_validation_message {
		font-size: 1.6rem!important;
		line-height: 2.1rem!important;
		font-weight: 400!important;
		border: solid 1px var(--error-red);
		border-radius: 5px;
		color: var(--error-red);
	}

	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper.gravity-theme .validation_error,
	footer .et_pb_section .et_pb_module .gform_wrapper.gravity-theme .validation_error {
		border: none;
		margin-bottom: 0;
		padding: 0;
		color: var(--error-red);
	}

	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper.gravity-theme .gform_validation_errors,
	footer .et_pb_section .et_pb_module .gform_wrapper.gravity-theme .gform_validation_errors {
		border: solid 1px var(--error-red); 
	}

/* Standardstile für .single-column-form Klasse */
	html body article .et-l .et_pb_section .et_pb_module .single-column-form ul.gfield_checkbox li input[type=checkbox]:checked+label,
	html body article .et-l .et_pb_section .et_pb_module .single-column-form ul.gfield_checkbox li input[type=checkbox]:not(:checked)+label,
	footer .et_pb_section .et_pb_module .single-column-form ul.gfield_checkbox li input[type=checkbox]:checked+label,
	footer .et_pb_section .et_pb_module .single-column-form ul.gfield_checkbox li input[type=checkbox]:not(:checked)+label {
		margin-left: 19px;
		font-weight: 400;
		font-size: 20px;
	}

/* Benutzerdefinierte Checkbox-Stile für .single-column-form Klasse */
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked), 
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked), 
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked {
		position: absolute!important;
		left: -9999px;
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label, 
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label, 
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label {
		position: relative!important;
		padding-left: 1.0em!important;
		cursor: pointer!important;
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:before, 
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:before,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:before, 
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:before {
		content: '';
		position: absolute;
		left: -17px;
		top: 2px;
		width: 1.30em;
		height: 1.30em;
		border: 2px solid #ccc;
		background: #fff;
		box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
		padding: 2px;
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:after, 
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:after,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:after, 
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:after {
		content: '';
		position: absolute;
		width: 18px;
		height: 18px;
		top: 6px;
		left: -13px;
		font-size: 1.3em;
		line-height: 0.8;
		background-color: var(--primary-blue);
		transition: all .2s;
	}

/* Geänderter Stil bei aktivierter Checkbox */
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:after,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:not(:checked) + label:after {
		opacity: 0;
		transform: scale(0);
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:after,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:checked + label:after {
		opacity: 1;
		transform: scale(1);
	}

/* Deaktivierte Checkbox */
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:not(:checked) + label:before,
	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:checked + label:before,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:not(:checked) + label:before,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:checked + label:before {
		box-shadow: none;
		border-color: #bbb;
		background-color: #ddd;
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:checked + label:after,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled:checked + label:after {
		color: #999;
	}

	html body article .et-l .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled + label,
	footer .et_pb_section .et_pb_module .single-column-form [type="checkbox"]:disabled + label {
		color: #aaa;
	}

/* Radiobutton-Stile */
	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio input[type=radio],
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio input[type=radio] {
		width: 18px; /* Durchmesser der Radioauswahlfelder */
		height: 18px; /* Durchmesser der Radioauswahlfelder */
		border: 2px solid var(--border-black); /* Schwarze Umrandung */
		cursor: pointer;
		margin-right: 10px; /* Abstand zwischen den Radio Buttons */
		margin-bottom: 5px; /* Abstand unter den Radio Buttons */
	}

	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio input[type=radio]:checked,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio input[type=radio]:checked {
		border-color: var(--primary-blue); /* Blau bei aktivierter Auswahl */
	}

	html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio label,
	footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield_radio label {
		font-family: inherit; /* Gleiche Schrift wie der Rest */
		font-size: 16px; /* Schriftgröße auf 16px setzen */
		color: var(--text-black);
		margin-right: 20px; /* Abstand zwischen dem Label und dem nächsten Element */
	}

/* Titel-Stile */
	#main-content article .et_pb_section .et_pb_module .gform_wrapper form .gform-body .gform_fields .gfield h3.gsection_title {
	    font-size: clamp(1.6rem, 5vw, 2.3rem);
	    line-height: clamp(2rem, 5vw, 2.3rem);
	    font-weight: 600;
	    color: var(--primary-blue);
	    padding-bottom: 0;
	    padding-top: 15px;
	}













