/*
Theme Name:		mitmänsch
Theme URI: 		http://www..ch
Version: 		1.04
Author: 		mohnrot
Author URI: 	http://mohnrot.ch
*/

@import "assets/fonts/stylesheet.css";


* {
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}


*:focus:not(:focus-visible) {
    outline: none;
}

	*:focus:focus-visible {
	    outline: 3px solid var(--wp--preset--color--primary) !important;
	    outline-offset: 3px;
	    border-radius: 3px;
	}

	.has-primary-background-color > *:focus:focus-visible,
	.has-primary-background-color *:not(.has-background-color) *:focus:focus-visible,
	footer *:focus:focus-visible {
	    outline: 3px solid var(--wp--preset--color--background) !important;
	}


* > *:first-child {
	margin-top: 0 !important;
}

* > *:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 500px) {
	h1 {
		font-size: 1.25em !important;
		line-height: 1.2;
	}

	body {
		--wp--preset--font-size--x-large: 1.5em;  !important;
		
	}
}


/* Skiplinks */
.frontend .skiplinks {
    padding: 0 !important;
    z-index: 9999;
    left: 0;
    top: 0;
    position: relative;
}

    /* a.skiplink {
        z-index: 9999;
        left: 0;
        top: 0;
    } */

    .frontend .skiplinks a,
    a.skiplink,
    button.skiplink {
        border: 0;
        font: inherit;
        opacity: 0;
        height: 0;
        position: absolute;
        font-size: 1.35em;
        top: 0;
        left: 50%;
        pointer-events: none;
        background: var(--wp--preset--color--foreground) !important;
        color: var(--wp--preset--color--background) !important;
        padding: 1em 1.5em;
        text-decoration: none;
        transform: translateX(-50%);
		font-weight: bold;
		border-radius: 0;
    }

    a.skiplink,
    button.skiplink {
        display: inline-block;
        position: relative;
        z-index: 99999999;
        padding: 0;
        transform: translateX(-50%) translateY(50%);
    }

    a.skiplink + div,
    button.skiplink + div {
        margin-block-start: 0 !important
    }

    .frontend .skiplinks a:focus,
    a.skiplink:focus,
    button.skiplink:focus {
        visibility: visible;
        height: auto;
        pointer-events: all;
        opacity: 1;
        padding: 1em 1.5em;
    }


body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	

}

@media (max-width: 500px) {
	:where(.wp-block-group.has-background) {
		padding-left: 1.25em;
		padding-right: 1.25em;
	}
}

header {
	position: relative;
	z-index: 999;
}

	header > .wp-block-group {
		padding-bottom: 0.5em !important;
	}

	header .is-layout-flex {
		position: relative;
	}

	header .wp-block-site-logo {
		position: absolute;
		left: 0;
		top: 68%;
		z-index: 999;
	}

		@media (max-width: 1149px) {
			header .wp-block-site-logo {
				top: 0%;
			}
		}

	header .wp-block-site-logo::before {
		content: "";
		display: block;
		width: 170%;
		aspect-ratio: 1 / 1;
		background: #fff;
		position: absolute;
		z-index: 0;
		border-radius: 100%;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%) translateY(12%);

	}

	header .wp-block-site-logo.is-default-size {
		max-width: 60%;
		width: auto;
	}

	header .wp-block-site-logo.is-default-size img {
		width: 15em;
		max-width: 100%;
		height: auto;
		position: relative;
		z-index: 9;
	}

	header nav {
		font-weight: bold;
		font-size: 0.9em;
		line-height: 1.1;
	}

	.submenu-bg {
		content: "";
		width: 100vw;
		height: 1.3em;
		left: 0;
		bottom: 0;
		transform: translateY(100%);
		position: absolute;
		background: url(assets/images/gradient.svg) no-repeat center;
		background-size: 100% auto;
		transition: all 0.1s ease-out;
		display: none !important;
	}

		@media (min-width: 1150px) {
			.submenu-bg {
				display: block !important;
			}
		}

		.submenu-bg.show {
			height: 9em;
		}

	header nav .wp-block-navigation__responsive-container-content > ul {
		gap: 0;
		margin-right: -0.5em;
	}

	header nav .wp-block-navigation__responsive-container-content > ul > li {
		padding-right: 0.5em;
		padding-left: 0.5em;
	}

	header nav .wp-block-navigation__responsive-container-content > ul > li > a {
		padding: 0.75em 0 !important;
		display: inline-block;
		margin: -0.75em 0 !important
	}

	header nav .wp-block-navigation__responsive-container-content > ul > li > button {
		width: 1em !important;
		height: 1em !important;
	}

	header nav .wp-block-navigation__responsive-container-content > ul > li:hover > a,
	header nav .wp-block-navigation__responsive-container-content > ul > li:hover > a ~ button,
	header nav .wp-block-navigation__responsive-container-content > ul > li > a:focus,
	header nav .wp-block-navigation__responsive-container-content > ul > li > button:focus {
		color: var(--wp--preset--color--secondary) !important
	}

	header nav .wp-block-navigation__responsive-container-content > ul > li > ul {
		padding: 1em 0 0 0.5em !important;
		font-size: 0.94em !important;
		line-height: 1.1;
		background: none !important;
		border: 0 !important;
		min-height: 9em;
	}

		header nav .wp-block-navigation__responsive-container-content > ul > li > ul a {
			padding: 0.15em 0 !important;
			color: #fff !important;
		}

	.wp-block-search__inside-wrapper  {
		border: 0 !important;
	}


	header .wp-block-search__inside-wrapper  {
		flex-flow: row-reverse nowrap !important;
	}

		header .wp-block-search__inside-wrapper input {
			padding: 0 !important;
			width: 100% !important;
		}

		header .wp-block-search__inside-wrapper button {
			padding: 0 !important;
			color: #111;
			background: none !important;
		}

		header form:not(.wp-block-search__searchfield-hidden) {
			max-width: 100% !important;
			width: calc(100% - 20em) !important;
		}

			header form:not(.wp-block-search__searchfield-hidden) input {
				background: #eee !important;
				padding-left: 1em !important;
				border: 0 !important

			}

		header form:not(.wp-block-search__searchfield-hidden) ~ nav {
			display: none;
		}

		@media (max-width: 1149px) {
			header form {
				display: none;
			}
		}

.nav-toggle {
	display: block;
	width: 2.5em;
	height: 2.5em;
	border: 0;
	border-radius: 0;
	background: url(assets/images/nav-toggle.svg) no-repeat center;
	background-size: contain;
	appearance: none;
	-webkit-appearance: none;
	transform: translateY(-0.25em);
}

.mobile-menu {
	display: none;
	padding-top: 25vw !important;
	background-size: 100% auto !important;
	background-repeat: repeat !important;
}

	@media (min-width: 25em) {
		.mobile-menu {
			padding-top: 10em !important;
		}
	}

	.nav-open .mobile-menu {
		display: block;
		min-height: 100vh;
	}

	@media (max-width: 1149px) {
		.nav-open .entry-content,
		.nav-open footer {
			display: none;
		}



		header > .wp-block-group:nth-child(2)::after {
			content: "";
			background: var(--wp--preset--color--secondary);
			position: absolute;
			height: 1em;
			width: 100vw;
			display: block;
			right: 0;
		}
	}

header > .wp-block-group > * > nav {
	display: none;
}

	@media (min-width: 1150px) {
		.nav-toggle {
			display: none;
		}

		header > .wp-block-group nav {
			display: block;
		}

		.frontend .mobile-menu {
			display: none;
		}
	}

	.mobile-menu ul,
	.mobile-menu ul li {
		display: block !important;
	}

	.mobile-menu nav,
	.mobile-menu nav > ul {
		width: 100%;
		gap: 0.5em;
	}

	.mobile-menu nav > ul > li {
		display: flex !important;
		flex-flow: row wrap;
	}

	.mobile-menu ul {
		font-size: 1em;
	}

	.mobile-menu ul ul {
		display: block;
		width: 100% !important;
		position: relative !important;
		background: none !important;
		border: 0 !important;
		color: #fff !important;
		padding: 0.5em !important;
		margin: 0 !important;
		font-size: 1rem;
	}

		.mobile-menu ul button[aria-expanded='true'] ~ ul {
			margin: 0.75em 0 !important;
			border-top: 1px solid #fff !important;
			border-bottom: 1px solid #fff !important;
		}

.entry-content {
	margin-top: 0 !important
}

.entry-content > .wp-block-cover:first-child {
	height: 53vw !important;
	max-height: calc(100vh - 3em) !important;
}


	.wp-block-cover .wp-block-cover__inner-container {
		width: 100% !important;
		max-width: 1100px !important;
		position: relative;
		margin: 0 auto !important;
	}

.entry-content > .wp-block-cover {
	padding-top: 6em;
	padding-bottom: 6em;
	padding-left: 2.375em;
	padding-right: 2.375em;
	z-index: 99;
	position: relative;
	overflow: visible;
}

	@media (max-width: 500px) {
		.entry-content > .wp-block-cover {
			padding-left: 1.25em;
			padding-right: 1.25em;
			padding-top: 4em;
			padding-bottom: 4em;
		}
	}

	.entry-content > .wp-block-cover .stoerer {
		width: 12em;
		height: 12em;
		display: block;
		position: absolute;
		bottom: -6em;
		background: url(assets/images/donate.svg) no-repeat center;
		background-size: 100% auto;
		right: 0;
		transform: translateY(50%);
		z-index: 99;
		transition: all 0.3s ease-out;
		border-radius: 100%;
	}

		@media (max-width: 500px) {
			.entry-content > .wp-block-cover .stoerer {
				width: 7em;
				height: 7em;
				bottom: -4em;
			}
		}

		.entry-content > .wp-block-cover .stoerer:hover,
		.entry-content > .wp-block-cover .stoerer:focus {
			transform: translateY(50%) scale(1.05);
			box-shadow: 0 0 2em rgba(0,0,0,0.5)
		}

.entry-content > .wp-block-group.has-background {
	padding-top: 6em;
	padding-bottom: 6em;
	margin-top: 0 !important
}

	@media (max-width: 500px) {
		.entry-content > .wp-block-group.has-background {
			padding-top: 4em;
			padding-bottom: 4em;
		}
	}


.wp-block-cover .has-x-large-font-size {
	font-size: 2em !important;
	line-height: 1.2;
}

	@media (max-width: 500px) {
		.wp-block-cover .has-x-large-font-size {
			font-size: 1.5em !important;
			line-height: 1.2;
		}
	}

.entry-content *:not(.has-link-color) > a {
	color: #c21362 !important;
	text-decoration: underline;
	font-weight: bold;
}


/* Stacking */
.wp-block-media-text.is-style-stacked {
	display: block;
	box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.3)
}

	.wp-block-column > .wp-block-media-text.is-style-stacked {
		min-height: 100%
	}

	.wp-block-media-text.is-style-stacked .wp-block-media-text__media {
		position: relative;
	}

	.wp-block-media-text.is-style-stacked .wp-block-media-text__content {
		padding: 1rem !important;
	}

		.wp-block-media-text.is-style-stacked .wp-block-media-text__content > *.has-background:first-child {
			margin-left: -1rem;
			margin-top: -1rem !important;
			width: calc(100% + 2rem);
			padding: 1rem;
			margin-bottom: 1rem;
		}

			.wp-block-media-text.is-style-stacked .wp-block-media-text__content > *.has-background:first-child > a {
				text-decoration: none;
				position: relative;
				padding-right: 1.5em;
				display: block;
				width: 100%;
			}

				.wp-block-media-text.is-style-stacked .wp-block-media-text__content > *.has-background:first-child > a::after {
					content: "";
					display: block;
					position: absolute;
					top: 0;
					right: 0;
					width: 1em;
					height: 1em;
					background: url(assets/images/arrow-right.svg) no-repeat center;
					background-size: 50% auto;
					transform: translateY(10%);
				}

		.wp-block-media-text.is-style-stacked .wp-block-media-text__content p:first-of-type {
			margin-block-start: 0 !important;
		}

	.wp-block-media-text.is-style-stacked .wp-block-media-text__media::before {
		content: "";
		display: block;
		padding-bottom: 60%;
	}

	.wp-block-media-text.is-style-stacked .wp-block-media-text__media img {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		object-fit: cover;
	}


.news-entry + .news-entry {
	margin-top: 2em;
}

.wp-block-columns + .wp-block-columns {
	margin-top: 4em;
}

.wp-block-heading + .wp-block-columns,
.wp-block-heading + p {
	margin-top: 0.5em;
}

footer {
	margin-top: 0 !important;
	position: relative;
}

footer::before {
	content: "";
	width: 100%;
	aspect-ratio: 4.6 / 1;
	display: block;
}

footer::after {
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	aspect-ratio: 2.3 / 1;
	background: url(assets/images/footer-image.svg) no-repeat center;
	top: 0;
	right: 0;
	pointer-events: none;
	background-position: center top;
	background-size: 100% auto;
}

@media (max-width: 500px) {
	footer::before {
		aspect-ratio: 2.2 / 1;
	}

	footer::after {
		aspect-ratio: 2 / 1;
		width: 90.9%;
	}
}

footer > .wp-block-group {
	padding-top: 4em;
	padding-bottom: 1em;
}





iframe[src*="google.com/maps"]  {
    max-width: 100% !important;
    width: 100% !important;
    }


	form {
		max-width: 36em;
		display: flex;
		flex-flow: row wrap;
		margin-left: 0;
		position: relative;
		margin-bottom: 4em;
	}


	form .form-row {
		width: 100% !important;
		margin-bottom: 0.5rem;
		max-width: 350px;
	}

	form .form-row.double {
		gap: 10px;
		display: flex;
	}

		form .form-row.double > *  {
			flex: 1
		}

	.form-row.checkbox-row {
		max-width: 100%;
	}

	.form-row.space-up {
		margin-top: 1.5em;
	}

	.form-row:not(.checkbox-row) label {
		display: flex;
		align-items: center;
		background: #99D7F1;
		width: 100%;
		padding: 0.7em 1em;
	}

		.form-row label > span:first-child {
			white-space: nowrap;
			margin-right: 0.5em;
		}

		.form-row label input {
			flex: 1 !important;
			display: block;
			width: auto;
		}

	.wpcf7-form-control-wrap {
		display: block;
		flex: 1;
	}

	form select,
	form textarea,
	form input[type='text'],
	form input[type='email'],
	form input[type='tel'],
	form input[type='number'],
	form input[type='submit'] {
		box-sizing: border-box;
		background: #99D7F1;
		color: #333;
		appearance: none;
		-webkit-appearance: none;
		border: 2px solid #99D7F1;
		border-radius: 0;
		padding: 0;
		font: inherit;
		line-height: 100%;
		width: 100%;
		outline: none;
		transition: all 0.2s ease-in-out;
	}

	form input::placeholder, {
		color: #cddbb2c;
	}

	form input[type='checkbox'] {
		border: 2px solid #99D7F1;
		background: #99D7F1;
		width: 1.25em;
		height: 1.25em;
		appearance: none;
		-webkit-appearance: none;
		margin: 0 !important;
		display: inline-block;
		transform: translateY(2px);
		border-radius: 0;
		margin-right: 0.4em !important;
	}


		form input[type='checkbox']:checked {
			background: var(--wp--preset--color--secondary);
			border-color: var(--wp--preset--color--secondary);
		}

		.wpcf7-checkbox .wpcf7-list-item {
			display: block;
			margin-top: 0.5em;
			font-weight: bold;
		}

		.double-checkboxes .wpcf7-checkbox {
			display: flex;
			flex-flow: row wrap;
			gap: 1em;
		}

		.double-checkboxes .wpcf7-checkbox .wpcf7-list-item {
			width: calc(50% - 1em);
			margin-top: 0;
		}

	form .wpcf7-list-item {
		margin-left: 0 !important
	}




	form select:focus,
	form input[type='text']:focus,
	form input[type='email']:focus,
	form input[type='tel']:focus,
	form input[type='number']:focus,
	form input[type='submit']:focus {
		border: 2px solid #99D7F1;
	}

	form select {
		background: #EAE6DE url(assets/images/arrow-down-white.svg) no-repeat center right 0.75em;
		background-size: 1em auto;
		border: 2px solid #EAE6DE;
		color: #fff;
		font-weight: bold;
	}

	form input[type='submit'] {
		background: var(--wp--preset--color--secondary);
		color: #fff;
		border: 0 !important;
		padding: 0.7em 1em;
		font-weight: bold;
		width: auto;
		font-size: 1.2rem;
		line-height: 120%;
		padding-left: 1em;
		padding-right: 1em;
		cursor: pointer;

		margin-top: 0.75em !important
	}

	.hidden {
		display: none;
	}

	.wpcf7-list-item-label {
		display: inline-flex;
		justify-content: space-between;
		width: calc(100% - 3em);
		gap: 1em;
	}

		.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
			display: none;
		}

		.wpcf7-list-item-label .membership {
			flex: 1;
		}

		.wpcf7-list-item-label .price {
			font-weight: normal;
			white-space: nowrap;
		}

.grecaptcha-badge {
    display: none !important;
}

@media (max-width: 781px) {
	.wp-block-columns + .wp-block-columns {
		margin-top: 1.5rem;
	}
}