/* 
 * neue CSS für Theme 2024
 */

/*
 * Theme Name: Wootstrap BS5
 * Theme URI: http://mehne.biz
 * Description: Template von Kai Meinhardt. Keine Kopien erlaubt. Von niemandem. :-)
 * Author: Kai Meinhardt
 * Author URI: http://mehne.biz
 * Version: 6.6
 * Template Version: 5.2.0-2024-08-19
 * Text-Domain: web-definer
 *
 */

/*
 * Copyright (C) Kai Meinhardt (mehne.biz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited
 * Proprietary and confidential
 * Written by Kai Meinhardt <info@mehne.biz>, 2016 - 2025
 */


 /* kleiner reset */
*:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus,
button:focus {
	outline: none;
	box-shadow: none;
}


html {
	font-size: 10px;
	line-height: 1.4em;
}

/* Safari Problem mit horizontalem Scrollen */
html, body {
	max-width: 100vw;
	overflow-x: hidden;
}
/**/


body {
	/***/
	--main-color: var(--wp--preset--color--gruen);
	--main-typo-color: #000;
	
		
	margin: 0;
	padding: 0;
	font-family: 'Merriweather Sans', Arial, sans-serif !important; /*  */
	/* font-family muss important sein für überschriften da diese in type.css von BS sonst überschrieben werden */
	font-weight: 400;
	color: var(--main-typo-color);


	background-color: #fff;
	overflow-x: hidden;
	/**/
	--max-site-width: 1440px;

	--main-font-size: 1.6rem;
	font-size: var(--main-font-size);

	--main-line-height: 1.4em;
	line-height: var(--main-line-height);

	opacity: 1;
	transition: opacity 1.4s ease-in-out;

	--logo-width-mobile: 100%;
	--logo-width-desktop: 335px;
}

@media (min-width: 992px) {
	body {
		--main-font-size: 2.4rem;
		font-size: var(--main-font-size);
		--main-line-height: 1.4em;
		line-height: var(--main-line-height);
	}
}

body.high-contrast {
	--wp--preset--color--gruen: #000;
	--wp--preset--color--petrol: #000;
	--wp--preset--color--grau: #000;
}


main p,
p {
    color: var(--main-typo-color); /* reset von altem sin theme - löschen wenn alte css bereinigt */
    font-size: var(--main-font-size); /* reset von altem sin theme - löschen wenn alte css bereinigt */
	line-height: var(--main-line-height); /* irgendwie klappt sonst das inline-verändern von schriftgrößen nicht */
	margin-bottom: max(1rem, var(--main-line-height)); /* nimm das größere - zeilenabstand oder 1rem */
}

@media(max-width:768px) {
	p {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}


b, strong {
	font-weight: 700;
}

.has-x-large-font-size {
	margin-bottom: 0; /* das p resetten */
}

main a:hover, main a:focus {
    text-decoration: none;
    color: var(--main-typo-color);
}

main a[target="_blank"]::after {/** reset aus alter style.css - löschen wenn überarbeitet */
    content: normal;
    display: none;
}


.container-fluid {
    max-width: none;/** reset aus alter style.css - löschen wenn überarbeitet */
}
.container-fluid.max-width-true {
	max-width: var(--max-site-width);
}

.container-fluid .container-fluid {
	padding-right: 0;
	padding-left: 0;
}

.is-content-justification-center > .container-fluid > .row {
	justify-content: center;
}
.is-content-justification-right > .container-fluid > .row {
	justify-content: right;
}


.modal-body {
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
}
img.img-responsive {
	width: 100%;
	height: auto;
}

.wp-block-image {
	margin: 0; /* WP reset */
}

main .wp-block-image  img {
/* individuell */
	border: 10px solid white;
}

.wp-block-embed figcaption,
.wp-block-video figcaption,
.wp-block-image figcaption {
	color: #000;
	font-size: .8em;
	font-weight: 300;
}




/* wordpress klassen */
.alignright {
	float: right;
	margin-left: 30px;
	margin-bottom: 25px;
}

.alignleft {
	float: left;
	margin-right: 30px;
	margin-bottom: 25px;
}
@media (max-width:576px) {
	.wp-block-latest-posts__featured-image.alignleft {
		float: none;
		width: 100%;
	}
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;

	margin-bottom: 25px;
}

/**/
@media (max-width:992px) {
	.full-size-mobile,
	.full-size-mobile > .container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}

/* WP6.2 reset */
body .is-layout-flex {
	align-items: normal;
}

/* bootstrap heading-reset */
h1,.h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: 400;
	font-family: "Merriweather Sans", Arial, sans-serif;
    display: block!important; /* reset von altem sin theme - löschen wenn alte css bereinigt */
}
@media (max-width: 480px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}


h1, .h1,
h1 a, h1 a:is(:hover, :focus, :active, :visited) {
    font-family: 'Merriweather Sans';
    font-size: 3.5rem;
    line-height: 1.4em;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: #000;
}
h1 { margin-bottom: .5em; }

@media(min-width:992px) {
	h1, .h1,
	h1 a, h1 a:is(:hover, :focus, :active, :visited) {	
		font-size: 5.5rem;
		line-height: 1.4em;
	}
}

h2, .h2,
h2 a, h2 a:is(:hover, :focus, :active, :visited) {
    font-family: 'Merriweather Sans';
    font-size: 3rem;
    line-height: 1.4em;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: #000;
    background: transparent;
}
h2 { margin-bottom: .5em; }

@media(min-width:992px) {
	h2, .h2,
	h2 a, h2 a:is(:hover, :focus, :active, :visited) {	
		font-size: 4.6rem;
		line-height: 1.4em;
	}
}


h3, .h3,
h3 a, h3 a:is(:hover, :focus, :active, :visited) {
    font-family: 'Merriweather Sans';
    font-size: 2.6rem;
    line-height: 1.4em;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: #000;
}
h3 { margin-bottom: .5em; }

@media(min-width:992px) {
	h3, .h3,
	h3 a, h3 a:is(:hover, :focus, :active, :visited) {	
		font-size: 3.6rem;
		line-height: 1.4em;
	}
}

.page-header {
    box-shadow: none;
    margin: 0;
}
body:not(.home) .page-header { /* kann entfernt werden sobald neues theme live geht*/
    margin: 0;
}

.navbar-brand {
	/* bootstrap resets */
	line-height: 100%;
	height: auto;
	padding-top: 0;
	padding-bottom: 0;
	/* individuell */
	display: block;
	max-width: min(100%, 320px); /* damits nicht über rahmen ragt */

	width: var(--logo-width-mobile); 
	
}
@media (min-width:992px) {
	.navbar-brand {
		width: var(--logo-width-desktop);
		flex: 0 0 var(--logo-width-desktop);

		max-width: 100%;
	}
}


.logo {
	display: block;
	
	text-indent: 0px;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* individuell */
    background: none; /* reset von alter style.css */
    margin-top: 45px;
    margin-bottom: 55px;
}

.navbar-toggler {
    border: 0;
    width: fit-content;
    margin-top: 55px;
}

.navbar-toggler-icon {
    width: 5.5em;
    height: 5.5em;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.99%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

/*** content beginn ***/


.herzlich-willkommen-container {
    /* background-image: url(images/svg/header_people.svg), url(images/header_Farbverlaufstreifen.png);
    background-size: auto 120px, cover;
    background-position: top 14px center, top center; */

    background-image: url(images/svg/header_people.svg);
    background-size: auto 120px;
    background-position: top 14px center;

    background-color: #0e4194;
    background-repeat: no-repeat;
    padding-top: 110px;
}
@media (min-width:992px) {
    .herzlich-willkommen-container {
        background-size: 40% auto, cover;
        background-position: bottom -22px right 22px, top center;
        padding-top: 0;
    }
}
.herzlich-willkommen {
    padding-top: 35px;
    padding-bottom: 0px; /* kommt genug vom <p> */
    color: #fff;
}

.herzlich-willkommen h1,
.herzlich-willkommen h2,
.herzlich-willkommen h4,
.herzlich-willkommen p {
    color: #fff;
}

.herzlich-willkommen p {
    font-weight: 400;
    font-size: 2.2rem; /** voll geraten **/
    line-height: 1.4em;
}
@media (min-width:992px) {
    .herzlich-willkommen p {
        font-size: 3.6rem;
    }
}

.methodenkoffer-single-header {
    background-color: #0e4194;

  background-image: none;
  background-size: 50% auto;
  background-position: center right;
}



.methodenkoffer-titel {
    color: #0e4194;
}
.methodenkoffer-regenbogen-content {
    background-color: #0e4194;
}

.methodenkoffer-regenbogen-headline {
    background-position: right;
}

.methoden-details-container {
    --wp--preset--color--lila: #0e4194;
}

.methoden-details-container > div:nth-child(2n) {
  background-color: #EAF7FD;
}

.methoden-details-container a::before {
    content: "";
    height: 40px;
    background-image: url(images/Pen_blau.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center left;
}

.methoden-details-container a[target="_blank"]::before {
    content: "";
    background-image: url(images/Weltkugel_blau.png);
}
.methoden-details-container a[href$=".pdf"]::before {
    content: "";
    background-image: url(images/PDF_blau.png);
}

.weiss {
    color: var(--wp--preset--color--weiss);
}

.blau {
    color: var(--wp--preset--color--dunkelblau);
}

.orange {
    color: var(--wp--preset--color--orange);
}

.hellgrau.btn-primary, /* nur important + extra selektor wegen alter css - kann also entfernt werden wenn alte css überarbeitet */
.hellgrau {
    color: var(--wp--preset--color--hellgrau)!important; /* nur important + extra selektor wegen alter css - kann also entfernt werden wenn alte css überarbeitet */
}

.grau {
    color: var(--wp--preset--color--grau);
}

.dunkelgrau {
    color: var(--wp--preset--color--dunkelgrau);
}



/* Allgemeine FORMS STYLES */

input[type="number"],
input[type="date"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
select,
textarea,
.form-control {
	display: block;
    max-width: 100%;
    width: 100%;
    border-radius: 30px/50%;
    padding-right: 5%;
    padding-left: 5%;
    font-size: var(--main-font-size);
    line-height: var(--main-line-height);
    padding-top: 17px;
    padding-bottom: 17px;
    border: 2px solid #808080;
    margin-bottom: .5em;
}

label {
	width: 100%;
}

textarea {
	width: 100%;
}

input[type=submit]:not(.wpcf7-form-control) {
    border: 0;
    background: none;
    background-image: none;
    color: transparent;
    height: 50%;
    background-image: url(images/svg/Pfeil_rechts_nl.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
}


.btn-primary {
    display: block;
    max-width: 100%;
    border-radius: 30px/50%;
    padding-right: 5%;
    padding-left: 5%;
    font-size: var(--main-font-size);
    line-height: var(--main-line-height);
    padding-top: 18px;
    padding-bottom: 17px;
    border: 2px solid #808080;
    margin-bottom: .5em;
    cursor: pointer;

    color: #000!important; /* nur important wegen alter css - kann also entfernt werden wenn alte css überarbeitet */
    background-color: #fff;
}
.btn-primary.active,
.btn-primary:is(:hover, :focus, :visited) {
    background-color: var(--wp--preset--color--dunkelgrau);
}

.btn-primary::after {
    content: normal; /* reset der alten css - kann raus wenn alte csss überarbeitet */
}
.btn-primary.btn-lg {
    font-size: calc( var(--main-font-size) * 1.5);
}

/*** neu ab methodenkoffer Oktober 2024 */
.btn-info,
.btn-info:is(:hover, :focus, :visited) {
    background-color: #fff;
    color: #696A6D !important;
    text-decoration: underline;
    border: 1px solid #696A6D;
    margin: 5px;
    padding: .5rem 1.5rem;
    border-radius: 15px/25%;
}
.btn-info:is(:hover, :focus) {
    background-color: var(--wp--preset--color--dunkelgrau);
}

.bg-darkgrey {
    background-color: var(--wp--preset--color--dunkelgrau);
}


.bg-grey .btn-primary {
    border: none;
}

.btn-check:checked + .btn-primary,
.bg-grey .btn-primary.active {
    background-color: var(--wp--preset--color--lila);
    color: #fff!important; /* nur important wegen alter css - kann also entfernt werden wenn alte css überarbeitet */
}

.bg-white {
    background-color: var(--wp--preset--color--weiss);
}
.bg-orange {
    background-color: var(--wp--preset--color--orange);
}

.accordion {
    --bs-body-bg: transparent;
    --bs-border-color: none;
}

.accordion-item {
    --bs-accordion-border-radius: 0;
}

.accordion-button {
    --bs-accordion-btn-padding-y: 0;
    --bs-accordion-btn-padding-x: 0;
    color: var(--main-typo-color) !important;
    font-size: var(--main-font-size);
    padding-left: 15px;
    font-weight: 600;

    --bs-accordion-btn-bg: var(--wp--preset--color--dunkelgrau);
    --bs-accordion-active-bg: var(--wp--preset--color--dunkelgrau);

    line-height: 1.7em;
}
.accordion-button:is(:hover, :active) {
    background-color: var(--bs-accordion-active-bg);
}

.accordion-button:not(.collapsed) {
    --bs-accordion-active-color: var(--main-color);
    box-shadow: none;
}

.accordion-button::after {
    display: none;
}

.accordion-button::before {
    content: "";
    --bs-accordion-btn-icon: url(images/Pfeil_blau.png);
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    transform: translateZ(0);
    --bs-accordion-btn-icon-width: 28px;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    transform: rotate(-90deg);
    background-size: auto 100%;
    background-position: center;
    margin-right: 13px;
}
.accordion-button:not(.collapsed)::before {
    --bs-accordion-btn-active-icon: url(/images/Pfeil_blau.png);
    transform: rotate(90deg);
}



/** footer **/
.page-footer {
    background-image: url(images/farbstreifen_einzelflaechen.gif);
    background-repeat: no-repeat;
    background-size: 100% 10px;
    padding-top: 10px;
    background-position: top center;
}

.page-footer .nav {
    display: flex; /* reset von altem theme - kann also gelöscht werden wenn befehl im alten theme weg */
    flex-direction: column;
}
@media (min-width:992px) {
    .page-footer .nav {
        flex-direction: row;
    }
}

#menu-footer-menue {
    margin: 0; /* reset von altem theme - kann also gelöscht werden wenn befehl im alten theme weg */
}

#menu-footer-menue li a {
    padding-left: 20px;
    padding-right: 20px;

    color: #fff;
    font-size: 2.4rem;

    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    margin: 0;
}
@media (min-width:992px) {
    #menu-footer-menue li:last-child a { padding-right: 0px; }
}


.footer-newsletter {
    background-color: var(--wp--preset--color--grau);
    background-image: url(images/svg/silhoutten-newsletter.svg);
    background-repeat: no-repeat;
    background-position: bottom -30px right 5%;

    padding-top: 80px;
    padding-bottom: 90px;
}
@media (min-width:992px) {
    .footer-newsletter p {
        font-size: 3.6rem;
    }
}

@media print {
    .footer-newsletter {
        display: none;
    } 
}