/*
Theme Name: Starter Block Theme v3
Theme URI: https://jakson.co/
Author: Jakson
Author URI: https://jakson.co/
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.4
Version: 3.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: starter-block-theme-v3
Tags: Block Editor Patterns, Site Editor

/*  Smoot Scroll */
html {
  scroll-behavior: smooth;
}

/*  Reduced motion prefs  */
@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Nicley wrapped headlines */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* I've no idea why when you add a backgroud colour to a column, WP by default adds padding to it... so weird - this get's rid of that */
:where(.wp-block-columns.has-background) {
  padding: initial;
}


/* Keep our titles link the off black color*/

.wp-block-post-title :where(a) {
  color: inherit;
}

/* Button hover state  - core button block still does not have this and I can't figure out how to do it in theme.json! */

.wp-block-button__link,
a {
  transition: 0.3s;
}
h1,
:root :where(.wp-block-heading),
:root :where(.wp-block-post-title) {
	line-height: 1.7;
}
:root :where(.wp-block-post-title) {
	text-wrap: unset!important;
}
.wp-block-heading em {
	font-style: normal;
}
@media (max-width: 781px) {
	.wp-block-heading em {
		display: none;
	}
}


.visible-on-mobile {
	display: none;
}
@media (max-width: 781px) {
	.visible-on-mobile {
		display: block;
	}
}



/*
.wp-block-button.is-style-fill .wp-block-button__link:hover,
#commentform .form-submit.wp-block-button input:hover {
  background: var(--wp--preset--color--custom-white);
  color: var(--wp--preset--color--custom-off-black);
}

.wp-block-button .wp-block-button__link:hover {
  background: var(--wp--preset--color--custom-custom-white);
  color: var(--wp--preset--color--off-black);
  border-color: var(--wp--preset--color--custom-off-black);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--custom-off-black);
  color: var(--wp--preset--color--custom-white);
  border-color: var(--wp--preset--color--custom-off-black);
}

a:hover:not(.wp-block-site-title a, .wp-block-button__link.wp-element-button) {
  text-decoration: underline !important;
}
*/
 
 
 
 
 
 
/* ********************************* 
	HEADER ************************** */


header {
	position: sticky;
	top: 0;
    z-index: 1000000;
}
header > div > div {
	min-height: 86px;
}
.website-logo {
	background: #f5f7f6!important;
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
	
}


.website-logo img {
	width: 70px;
	height: 70px;
	margin-top: 6px;
	transition: all .4s;
}
.website-logo:hover img {
	transform: scale(1.1);
	transition: all .4s;
}

.wp-block-site-title {
	margin-left: 130px!important;
	transition: all .4s;	
	text-shadow: -1px -1px 4px rgba(0, 0, 0, 0.4);
}
.wp-block-site-title a {
	text-shadow: -1px -1px 4px rgba(0, 0, 0, 0.4);
}


.wp-block-site-title:hover {
	transform: scale(1.1);
	transition: all .4s;
}

@media (max-width: 781px) {
	.website-logo {
		margin-left: -30px!important;
		padding-left: 30px;
		padding-right: 20px;
	}
	.wp-block-site-title {
		margin-left: 110px!important;
		
	}
}

/* obere Navigation */
:root :where(.wp-block-navigation) {
	font-size: 0.95rem;
	text-shadow: -1px -1px 3px rgba(0, 0, 0, 0.4);
    letter-spacing: .02rem;
}

.wp-block-navigation-item .wp-block-navigation-item__content {
	border-bottom: 1px solid #7cc695!important;
	transition: all .4s;
}
.wp-block-navigation-item .current,
.wp-block-navigation-item:hover .wp-block-navigation-item__content {
	border-bottom: 1px solid white!important;
	transform: scale(1.1);
	transition: all .4s;
	color: #f0f0f0;
}

/* Mobile Navigation */
.mega-menu {
	height: 100%;
	background-color: #7cc695;
	color: white;
	position: fixed;
	left: 0;
	right: 0;
	margin-top: -1px;
	padding-top: 1.5rem;
	visibility: hidden;
	opacity: 0;
	overflow-y: scroll; 
	scrollbar-width: none; 
	border-top: 2px solid white;
	transition: all 600ms ease-in-out;	
}
.mega-menu.active {
	visibility: visible;
	opacity: 1;
	z-index: 999999999;
	transform: translateY(0);
	transition: all 600ms ease-in-out;	
	pointer-events: auto; /* Erlaubt Interaktion wenn sichtbar */
}
.mega-menu > div {
	height: 100%!important;
}
.mega-menu a {
	color: white!important;
}
.mega-nav-list {
	/*margin-left: 110px!important;*/
}
.mega-nav-list li {
	list-style: none;
	padding-top: 5px;
	padding-bottom: 5px;
}
.mega-nav-list li a {
	text-decoration: none;
	font-size: 1.5rem;	
	text-shadow: -1px -1px 3px rgba(0, 0, 0, 0.4);
}
.mega-nav-list li i.icon {
	display: none;
}
.mega-menu .icon {
	vertical-align: text-top;
	/*margin-right: 10px;*/
}
.nav-btn-top-bar {
	font-size: 60px;
	transition: all var(--transition-speed-inner) ease-in-out;
	position: relative;
	display: inline-flex;
	align-items: right;
	justify-content: end;
}
.nav-btn-top-bar.active {
	transform: rotate(360deg);
	transition: all 650ms ease-in-out, transform 650ms ease-in-out;
}
.nav-btn-top-bar i.icon {
	transition: all 650ms ease-in-out, transform 650ms ease-in-out;
    position: absolute;
    right: 0;
    top: -30px;
}
.nav-btn-top-bar .menu-sharp {
	opacity: 1;
	transform: scale(1);
}
.nav-btn-top-bar .close-sharp {
	opacity: 0;
	transform: scale(0.9);
}
.nav-btn-top-bar.active .menu-sharp {
	opacity: 0;
	transform: scale(0.9);
}
.nav-btn-top-bar.active .close-sharp {
	opacity: 1;
	transform: scale(1);
}
@media (min-width: 600px) {
	.nav-btn-top-bar {
		display: none!important;
	}
}

/* Cookie Einstellungen Button */
.btn-cookie-settings {
    position: absolute;
    z-index: 999999999;
    left: 0;
    top: 0;
    font-size: 1rem;
    padding: 0 !important;
}
.btn-cookie-settings p {
	color: white;
	opacity: 0.55;
	height: 86px;
	line-height: 84px;
	overflow: hidden;
	padding-left: 12px;
	font-size: 28px;
    vertical-align: middle;
}	
.btn-cookie-settings p:hover {
	cursor: pointer;
	opacity: 1;
	background: white;
	color: #222;
}
.btn-cookie-settings p i.icon {
    vertical-align: middle;
}
.btn-cookie-settings p strong {
    display: none;
    cursor: pointer;
    vertical-align: middle;
}
.btn-cookie-settings p:hover strong {
	display: inline-block;
	padding-right: 15px;
	padding-left: 5px;
}
@media (max-width: 781px) {
	.btn-cookie-settings {
		left: auto;
		right: 105px;
	}
	.btn-cookie-settings p {
		padding-right: 12px;
	}
	.btn-cookie-settings p:hover strong {
		display: none;
	}
}

/* UserWay CSS Barrierefreiheit Menü Button */
body .uwy.userway_p3 .userway_buttons_wrapper {
	bottom: 70px!important;
	left: calc(100vw)!important;
    right: auto!important;
	
}
body .uwy.userway_p3 .userway_buttons_wrapper > div {
	border-top-left-radius: 35px !important;
	border-top-right-radius: 0!important;	
	border-bottom-right-radius: 0!important;
	border-bottom-left-radius: 35px !important;
	align-items: end!important;
    -ms-flex-pack: end!important;
    justify-content: right!important;
	padding-right: 55px;
	padding-left: 1px;
	width: 70px!important;
	height: 70px!important;
}
body .uwy.userway_p3 .userway_buttons_wrapper > div img {
	filter: invert(1);
	width: 70px!important;
	height: 70px!important;
}
@media (max-width: 781px) {
	body .uwy.userway_p3 .userway_buttons_wrapper > div {
		padding-right: 40px;
		border-top-left-radius: 25px !important;
		border-bottom-left-radius: 25px !important;
		width: 50px!important;
		height: 50px!important;
	}	
	body .uwy.userway_p3 .userway_buttons_wrapper > div img {
		width: 50px!important;
		height: 50px!important;
	}
}

body .uwy.uen .uai .userway_check_on, 
body .uwy.uen .ulsti .userway_check_on {
	height: 30px !important;
    width: 30px !important;
    right: 10px !important;
    top: -8px !important;
}

html.userway-s3-2 footer .fixed-container {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: white;
    border-top: 2px solid #30a55f;
    box-shadow: 0px -18px 25px rgba(0, 0, 0, 0.78);
}





/* ********************************* 
	FOOTER ************************** */

#scrollToTopBtn {
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateY(15px);
    color: #888;
    background: transparent;
    position: fixed;
    right: 0;
    left: 0;
    bottom: 70px;
    z-index: -1;
    justify-content: center;
    align-items: center;
    padding: 0 0 5px 0;
	margin-bottom: -15px;
    border: 0;
    cursor: pointer;
	vertical-align: middle;
}
#scrollToTopBtn i.icon {
	font-size: 56px;
	vertical-align: middle;
	background: rgba(255,255,255,0.5);
	border-radius: 28px;
}
#scrollToTopBtn i.icon:before {
	margin-top: -3px;
}
#scrollToTopBtn.visible {
  opacity: 1;
  
  z-index: 1;
  transform: translateY(0);
}
#scrollToTopBtn:hover {
    transform: translateY(-5px);
     text-shadow: 0 4px 30px rgba(0,0,0,0.2);
    color: #333;
}
.chevron-animation {
    animation: bounceBtn 3s infinite;
}
@keyframes bounceBtn {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-8px);}
    60% {transform: translateY(-4px);}
}
.chevron-animation-reverse {
    animation: bounceBtnReverse 2.5s infinite;
}
@keyframes bounceBtnReverse {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(8px);}
    60% {transform: translateY(4px);}
}

/* Unsere Partner (Logo-Bilder unten auf jeder Seite */
footer .partner-footer {
	background: white;
	margin-top: 40px;
	padding-top: 60px!important;
	margin-bottom: 60px; 
}
body.unsere-partner footer .partner-footer .link-unsere-partner:not(body.page-child.unsere-partner footer .partner-footer .link-unsere-partner) {
	display: none;
}
body.unsere-partner footer .partner-footer > div:not(body.page-child.unsere-partner footer .partner-footer > div) {
	margin-top: 0!important;
}
footer .partner-footer .link-unsere-partner a {
	color: inherit!important;
	text-decoration: none!important;
	display: inline-block;
}
footer .partner-container {
	padding-top: 20px!important;
	padding-bottom: 60px!important; 
}
footer .partner-container > div {
	gap: 80px;
}
footer .partner-container > div > div {
	text-align: center;
}
footer .partner-footer .link-unsere-partner a:hover,
footer .partner-container > div > div a:hover {
	transform: scale(1.2);
	transition: all .4s;
}
	/* Logo von Paritätische und Aktion Mensch auf Größe setzen, da Wordpress es bei SVG kaputt macht */
	footer .partner-container .aktion-mensch-logo figure img,
	footer .partner-container .paritaet-logo figure img {
		width: 100%;
	}
	/* ZiB Logo auf mit Aussenabstand 
		- damit es etwas kleiner dargestellt wird */
	footer .partner-container .zib-logo figure {
		margin-left: 20px;
		margin-right: 20px;
	}
/* Alle Logos in der mobilen Ansicht 
	etwas kleiner darstellen UND den Abstand verkleinern */
@media (max-width: 781px) {
	footer .partner-container {
		padding-top: 0px!important;
	}
	footer .partner-container > div {
		gap: 50px;
	}	
	footer .partner-container > div > div figure {
		margin-left: 45px;
		margin-right: 45px;
	}
	footer .partner-container .zib-logo figure {
		margin-left: 55px;
		margin-right: 55px;
	}
}
/* festehender Fussbereich ( fixed footer ) */
footer .fixed-container {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	background: white;
	border-top: 2px solid #30a55f;
	box-shadow: 0px -18px 25px rgba(255, 255, 255, 0.78);
}
footer .fixed-container > div > div {
	height: 58px;
}
footer .fixed-container .spalte-2-footer {
	text-align: center;
}
footer .fixed-container .spalte-2-footer p.footer-next {
	padding-left: 15px;
}
footer .fixed-container .spalte-2-footer p.footer-prev {
	padding-right: 15px;
}
footer .fixed-container .copyright-column p {
	text-align: center;
	display: inline-block;
	vertical-align: middle !important;
    margin: 0;
}
footer .fixed-container .copyright-column p a {
	text-decoration: none;
	opacity: 0.35;
}
footer .fixed-container .copyright-column p a:hover {
	text-decoration: none;
	opacity: 1;
}
@media (max-width: 781px) {
	footer .fixed-container {
		font-size: 0.95rem;
	}
	footer .fixed-container > div > div {
		gap: 5px;
	}
	
	footer .fixed-container .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
		flex-basis: auto;
		width: auto;
		text-wrap: nowrap;
	}
	footer .fixed-container > div > div > div:first-child {
		width: 50%!important;
	}
	footer .fixed-container .copyright-column p {
		text-align: right!important;
	}
	footer .fixed-container .spalte-2-footer p.footer-prev,
	footer .fixed-container .spalte-2-footer p.footer-next {
		display: none;
	}
}



/* ********************************* 
	INHALTSDBEREICH ************* */

.btn-zur-vereinsinfo a {
	text-decoration: none!important;
}
.btn-zur-vereinsinfo:hover {
	transform: scale(1.05);
	transition: all .55s;
	color: #222;
}

.mach-mit-bild {
	border: 1px solid #30a55f;
	padding: 4px;
	background: white;
	box-shadow: 0 1px 8px 2px rgba(0, 0, 0, .15);
	border-radius: 12px;
	transition: all .55s;
}
.mach-mit-bild:hover {
	transform: scale(1.05);
	transition: all .55s;
	cursor: pointer;
}
.mach-mit-bild img {
	border-radius: 12px;
}
@media (max-width: 781px) {
	.mach-mit-bild {
		margin-top: 60px!important;
	}
}

/* PDF Download */
.pdf-download-container  {
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.02rem;
	font-weight: bold;
	display: inline-block;
    border-top: 2px solid #d3d3d3;
    border-left: 2px solid #d3d3d3;
    padding-left: 20px;
    padding-bottom: 10px;
    padding-top: 15px;
    padding-right: 10px;
}
.pdf-download-container:hover  {
	transform: scale(1.04);
	transition: all .55s;
	cursor: pointer;
	background: #d3d3d3;
}
.pdf-download-container i.icon {
	vertical-align: middle;
	margin-right: 8px;
	font-size: 1.8rem;
}
@media (max-width: 781px) {
	.pdf-download-container i.icon {
		display: block;
		margin-bottom: 8px;
		font-size: 2rem;
	}
}


/* Bilder in der Übersicht mit Rahmen versehen 
	und bei :hover mit Zoom-Effekt */
.bild-mit-rahmen, 
.wp-block-post-featured-image {
	border: 1px solid #30a55f;
	padding: 4px;
	background: white;
	box-shadow: 0 1px 8px 2px rgba(0, 0, 0, .15);
	border-radius: 12px;
	transition: all .55s;
}
.bild-mit-rahmen img,
.wp-block-post-featured-image img {
	border-radius: 12px;
}
.wp-block-post-template-is-layout-grid h2 {
	transition: all .55s;
	min-height: 110px!important;
}
.wp-block-post-template-is-layout-grid h2:hover,
.wp-block-post-template-is-layout-grid .wp-block-post-featured-image:hover,
figure.is-lightbox:hover {
	transform: scale(1.05);
	transition: all .55s;
}
.entry-content .wp-block-image > a, .entry-content .wp-block-image > figure > a {
	display: block;
}

/* Bilder in der rechten Spalte und mobile Ansicht bei Inhaltsbereich 
	auf 100% Breite aufziehen */
.entry-content > div > div:last-child figure img {
	width: 100%;
}
@media (max-width: 781px) {
	.bild-100-prozent {
		flex-wrap: wrap;
	}
	.bild-100-prozent figure,
	.bild-100-prozent figure img {
		width: 100%;
	}
}

/* Rechte Spalte sticky machen – nur Desktop */
@media (min-width: 782px) {
  .sticky-column {
    position: sticky;
    top: 98px; /* Abstand vom oberen Rand */
    align-self: flex-start; /* ⬅ WICHTIG! Verhindert Flex-Stretch */
  }
}

/* Am Anfang eines Beitrages wird 
	eine Zeile als HIGHLIGHT angezeigt. */
.text-highlight-uppercase {
	text-transform: uppercase;
	letter-spacing: 0.15rem; 
}

/* Seiten-Navigation am Ende eines Beitrages */
.post-navigation-container a {
	font-size: 0.95rem;
}
.post-navigation-container .prev-nav-container,
.post-navigation-container .next-nav-container {
	transition: all .55s; 
}
.post-navigation-container .prev-nav-container:hover,
.post-navigation-container .next-nav-container:hover {
	transform: scale(1.05);
	transition: all .55s; 
}
.post-navigation-container .prev-nav-container:hover,
.post-navigation-container .next-nav-container:hover,
.post-navigation-container .prev-nav-container:hover a,
.post-navigation-container .next-nav-container:hover a {
	cursor: pointer;
	color: #222!important;
	text-decoration: none!important;
}
@media (max-width: 781px) {
	.post-navigation-container {
		row-gap: 0;
	}
	.post-navigation-container .next-nav-container {
		margin-top: 10px;
		border-top: 1px solid #aaa;
		padding-top: 5px;
	}
}


/* Accordion mit Details Block CSS */
.toggle-accordion {
  position: absolute;
  right: 0;
  margin-top: -2px;
  cursor: pointer;
  font-size: 80%;
  background: #7cc695;
  color: #fff;
  text-shadow: 0 -1px 5px rgba(0, 0, 0, 0.35);
  border-radius: 4px;
  padding: 3px 8px;
  text-transform: uppercase;
  transition: all 0.4s ease-in-out;
}
.toggle-accordion:hover {
  color: #000;
  background: #eee;
}
.accordion-group {
  padding-padding: 5px;
  border-bottom: 5px solid #f2f2f2;
}

.accordion-group details {
	margin-top: 0;
}
.accordion-group details .details-content {
	padding-bottom: 15px;
}

.accordion-group .details-content {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.3s ease-in-out, opacity 0.7s ease-in-out;
}
.block-editor-iframe__body .accordion-group .details-content,
body.wp-admin .accordion-group .details-content {
  overflow: initial;
  max-height: initial;
  opacity: 1;
  transition: max-height 0.3s ease-in-out, opacity 0.7s ease-in-out;
}
details[open] .details-content {
  display: block;
}

.wp-block-details summary::marker,
.wp-block-details summary::-webkit-details-marker {
    display: none !important;
    content: "";
}

.wp-block-details summary {
  display: flex;
  justify-content: space-between;
  font-size: 2rem;
  line-height: 2.75rem;
  margin-bottom: 15px;
  padding-right: 75px;
  color: #333;
  position: relative;
  padding-top: 15px;
  border-top: 5px solid #f2f2f2;
}
@media (max-width: 781px) {
  .wp-block-details summary {
    font-size: 2rem;
  }
  
}

.wp-block-details summary::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding-left: 30px;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  right: 1%;
  background-image: url(/wp-content/uploads/jvm-rich-text-icons/chevron-direction-bottom-icon.svg);
}

.accordion-title[open] summary::after {
    rotate: 180deg;
}

.accordion-group .details-content {
    margin-block-start: 0 !important;
    /* fix for jumpyness */
}





.eeb-encoded {
    position: relative;
    margin-top: 0!important;
    margin-left: 3px!important;
    display: inline-block;
    vertical-align: sub;
    z-index: 1000;
    color: green;
}











.revert-colums-on-mobile p {
	margin-top: 15px!important;
}

/* Wenn "Zeile" auf mobil, die "Spalten" umkehren*/
@media (max-width: 781px) {
	.revert-colums-on-mobile {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.die-verantwortlichen {
		row-gap: 70px;
	}
	
	.rechte-spalte-mobile-100-prozent {
		
		margin-left: -22px!important;
		margin-right: -22px!important;
	}
}

.row-divider {
	height: 30px;
    background: #f5f7f6;
    margin-left: -30px;
    margin-right: -30px;
}


/* Icon für Links auf externe Webseiten, 
	das Icon wird per JavaScript hinzugefügt */
.external-link-icon {
  width: 0.85em; /* Skaliert mit der Schriftgröße */
  height: 0.85em;
  margin-left: 0.25em; /* Abstand zum Linktext */
  vertical-align: -0.1em; /* Fein-Ausrichtung zur Textlinie */
  fill: currentColor;
  transition: fill 0.2s ease,
              transform 0.2s ease;
}
a.has-external-icon:hover .external-link-icon {
  fill: inherit;
  transform: scale(1.15); 
}
a.has-external-icon {
  text-decoration: underline;
  text-underline-offset: 3px;
}













/* Lightbox (Bilder in groß mit abgedunkeltem Hintergrund anzeigen) */
img.lightbox {
    cursor: zoom-in;
}
html.with-featherlight{overflow:hidden}

.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}

.featherlight:last-of-type{background:rgba(0,0,0,.9)}

.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}

.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:0;border:1px solid #fff;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}

.featherlight .featherlight-inner{display:block}

.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}

.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:45px;width:45px;cursor:pointer;text-align:center;font-family:Arial,sans-serif; font-size: 25px;background:#333;color:#fff;border:0;padding:0}

.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}

.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch}

.featherlight iframe{border:0}

.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}

@media only screen and (max-width:781px){
	.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}
}
@media print{html.with-featherlight>*>:not(.featherlight){display:none}}

/* Lightbox Gallerie */
.featherlight-next,.featherlight-previous{display:block;position:absolute;top:0px;right:0px;bottom:0;left:80%;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(0,0,0,0)}

.featherlight-previous{left:0px;right:80%}
.featherlight-next:hover,.featherlight-previous:hover{background:rgba(255,255,255,.25)}
.featherlight-next span,.featherlight-previous span{display:block;position:absolute;top:50%;left:5%;width:82%;text-align:center;font-size:120px;line-height:120px;margin-top:-60px;text-shadow:0 0 5px #fff;color:#fff;font-style:normal;font-weight:400;z-index: 9999999999;}

.featherlight-next span{right:5%;left:auto}
.featherlight-next:hover span,.featherlight-previous:hover span{display:inline-block}
.featherlight-first-slide.featherlight-last-slide .featherlight-next,.featherlight-first-slide.featherlight-last-slide .featherlight-previous,.featherlight-loading .featherlight-next,.featherlight-loading .featherlight-previous,.featherlight-swipe-aware .featherlight-next,.featherlight-swipe-aware .featherlight-previous{display:none}
/*
@media only screen and (max-device-width:1024px){
	.featherlight-next:hover,.featherlight-previous:hover{background:0 0}.featherlight-next span,.featherlight-previous span{display:block}
}	
@media only screen and (max-width:1024px){
	.featherlight-next,.featherlight-previous{top:10px;right:10px;left:85%}.featherlight-previous{left:10px;right:85%}.featherlight-next span,.featherlight-previous span{margin-top:-30px;font-size:40px}
}*/






:root {
  --button-background-color: #000;
  --button-border-radius: 8px;
  --button-border: 2px solid #000;
  --button-box-shadow: none;
  --button-color: #fff;
  --button-font-family: inherit;
  --button-font-size: inherit;
  --button-font-weight: inherit;
  --button-hover-background-color: inherit;
  --button-hover-border-radius: 8px;
  --button-hover-border: 2px solid #000;
  --button-hover-box-shadow: none;
  --button-hover-color: #000;
  --button-hover-padding: 5px 20px;
  --button-letter-spacing: 1px;
  --button-margin-top: 1rem;
  --button-padding: 5px 20px;
  --button-text-transform: uppercase;
  --button-transition-duration: 300ms;
  --checkbox-gap: 2px 20px;
  --form-color: inherit;
  --input-background: white;
  --input-border: 2px solid #f3f3f3;
  --input-border-radius: 0;
  --input-box-shadow: none;
  --input-color: #000;
  --input-focus-background: transparent;
  --input-focus-border: 2px solid #000;
  --input-focus-border-radius: 0;
  --input-focus-box-shadow: none;
  --input-focus-color: #000;
  --input-font-family: inherit;
  --input-font-size: inherit;
  --input-padding: 8px 12px;
  --input-placeholder-color: #333;
  --input-placeholder-opacity: 0.8;
  --label-color: #000;
  --link-color: #00f;
}

/* Stop touching the code!!! */
/* #region Button Design */
form.wpcf7-form input.wpcf7-submit {
  background-color: var(--button-background-color);
  border-radius: var(--button-border-radius);
  border: var(--button-border);
  box-shadow: var(--button-box-shadow);
  cursor: pointer;
  color: var(--button-color);
  font-family: var(--button-font-family);
  font-size: 1.25rem;
  font-weight: var(--button-font-weight);
  letter-spacing: var(--button-letter-spacing);
  margin-top: var(--button-margin-top);
  padding: var(--button-padding);
  text-transform: var(--button-text-transform);
  transition: all var(--button-transition-duration) ease;
}
form.wpcf7-form input.wpcf7-submit:hover {
  background-color: var(--button-hover-background-color);
  border-radius: var(--button-hover-border-radius, var(--button-border-radius));
  border: var(--button-hover-border, var(--button-border));
  box-shadow: var(--button-hover-box-shadow, var(--button-box-shadow));
  color: var(--button-hover-color, var(--button-color));
  padding: var(--button-hover-padding, var(--button-padding));
}

/* #endregion Button Design */
/* #region Placeholder Pseudo Class */
form.wpcf7-form input[type=email]::-webkit-input-placeholder, form.wpcf7-form input[type=text]::-webkit-input-placeholder, form.wpcf7-form input[type=tel]::-webkit-input-placeholder, form.wpcf7-form input[type=password]::-webkit-input-placeholder, form.wpcf7-form textarea::-webkit-input-placeholder {
  color: var(--input-placeholder-color);
  opacity: var(--input-placeholder-opacity);
}
form.wpcf7-form input[type=email]::-moz-placeholder, form.wpcf7-form input[type=text]::-moz-placeholder, form.wpcf7-form input[type=tel]::-moz-placeholder, form.wpcf7-form input[type=password]::-moz-placeholder, form.wpcf7-form textarea::-moz-placeholder {
  color: var(--input-placeholder-color);
  opacity: var(--input-placeholder-opacity);
}
form.wpcf7-form input[type=email]:-ms-input-placeholder, form.wpcf7-form input[type=text]:-ms-input-placeholder, form.wpcf7-form input[type=tel]:-ms-input-placeholder, form.wpcf7-form input[type=password]:-ms-input-placeholder, form.wpcf7-form textarea:-ms-input-placeholder {
  color: var(--input-placeholder-color);
  opacity: var(--input-placeholder-opacity);
}
form.wpcf7-form input[type=email]:-moz-placeholder, form.wpcf7-form input[type=text]:-moz-placeholder, form.wpcf7-form input[type=tel]:-moz-placeholder, form.wpcf7-form input[type=password]:-moz-placeholder, form.wpcf7-form textarea:-moz-placeholder {
  color: var(--input-placeholder-color);
  opacity: var(--input-placeholder-opacity);
}

/* #endregion */
form.wpcf7-form {
  color: var(--form-color);
  /*font-size: 1rem;*/
}
form.wpcf7-form input[type=email], form.wpcf7-form input[type=text], form.wpcf7-form input[type=tel], form.wpcf7-form input[type=password], form.wpcf7-form textarea {
  background: var(--input-background);
  border: var(--input-border);
  border-radius: var(--input-border-radius);
  box-shadow: var(--input-box-shadow);
  color: var(--input-color);
  font-family: var(--input-font-family);
  font-size: var(--input-font-size);
  padding: var(--input-padding);
  width: 100%;
  box-sizing: border-box;
}
form.wpcf7-form input[type=email]:focus, form.wpcf7-form input[type=text]:focus, form.wpcf7-form input[type=tel]:focus, form.wpcf7-form input[type=password]:focus, form.wpcf7-form textarea:focus {
  background: var(--input-focus-background, var(--input-background));
  border: var(--input-focus-border, var(--input-border));
  border-radius: var(--input-focus-border-radius, var(--input-border-radius));
  box-shadow: var(--input-focus-box-shadow, var(--input-box-shadow));
  color: var(--input-focus-color, var(--input-color));
}
/*
form.wpcf7-form a {
  color: var(--link-color);
}*/
form.wpcf7-form label {
  color: var(--label-color);
}
form.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-flow: row wrap;
  gap: var(--checkbox-gap);
}
form.wpcf7-form .wpcf7-checkbox > .wpcf7-list-item {
  margin-left: 0;
}
form.wpcf7-form .dscf7 .wpcf7-checkbox {
  display: inline-block;
}


form.wpcf7-form .form_float {
    width: auto;
    min-width: 180px;
    float: left;
    margin-right: 1%; margin-bottom: 2%;
}
form.wpcf7-form .form_float_last {
    margin-right: 0px;
}
@media (max-width: 767px) {
	form.wpcf7-form .form_float {
	width: 100%;
       float: none;
	}
}

form.wpcf7-form .form_half {
    width: 49.5%;
    float: left;
    margin-right: 1%;margin-bottom: 2%;
}
form.wpcf7-form .form_half_last {
    margin-right: 0px;
}
@media (max-width: 767px) {
	form.wpcf7-form .form_half {
	width: 100%;
	}
}

.wpcf7-not-valid-tip {
  font-size: 0.95rem!important;
  font-weight: bold!important;
  letter-spacing: 1px;
  font-family: monospace!important;
  padding-left: 12px!important;
  padding-top: 2px!important;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1.5em 0em!important;
  padding: 0.4em 0.75em!important;
  border: 0!important;
  background: white!important;
  color: #7cc695!important;
}

.wpcf7 form .upload_form{
  clear: both;
  float: none;
}
.wpcf7 form .upload_form .wpcf7-form-control-wrap {
  display: block!important;
}

form[data-status="init"] .wpcf7-not-valid-tip{
display: none;
}

p.label-nachricht {
	padding-left: 12px!important;
}


/* Response */

.swal2-title {
  font-size: 1rem!important;
}
.swal2-html-container,
.swal2-styled.swal2-confirm{
  font-size: 1.75rem!important;
}

/* if send */

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #7cc695; /* Dark Gray 800 */
}

form.wpcf7-form input.wpcf7-submit {
  display: none;
}

.button {
  border: none;
  background: #7cc695;
  color: white;
  padding: 10px 16px;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 5px;
  min-width: 125px;
  width: 100%;
}

.button__progress {
  position: absolute;
  height: 100%;
  width: 0%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  transition: width 1.75s ease-in-out;
}
form.submitting .button__progress {
  width: 100%;
}
form.resetting .button__progress,
form.success .button__progress {
  transition: all 0.5s ease-in-out;
  width: 100%;
}

.button__text {
  position: relative;
  font-size: var(--wp--preset--font-size--small);
}

.required-info {
  background: rgba(255,223,35,0.15);
  border: 1px solid #bbb;
  padding: 5px 10px;
  margin-top: 0; 
  display: inline-block;
  border-radius: 3px;
  font-weight: 100;
  color: #888;
  font-family: var(--wp--preset--font-family--trebuchet-ms);
  font-size: 0.95rem;
}