@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css2?family=Comic+Neue:wght@300;400;600;700");

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
	padding-top: 100px; /* add space for nav bar */
}

	@media screen and (max-width: 736px) {
		body {
			line-height: 1;
			padding-top: 72px; /* add space for mobile nav bar */
		}
	}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
		scroll-padding-top: 100px;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background: #ffffff;
	}

/* Type */

	html {
		font-size: 14pt;
	}

	body {
		background-color: #ffffff;
		color: #000000;
	}

	body, input, select, textarea {
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 1rem;
		font-weight: 300;
		line-height: 1.65;
	}

	a {
		-moz-transition: color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out;
		text-decoration: underline;
	}

		a:hover {
			text-decoration: none;
		}

	strong, b {
		font-weight: 400;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2rem 0;
	}

		p.major {
			font-size: 1.25rem;
		}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 300;
		line-height: 1.375;
		letter-spacing: -0.05em;
		margin: 0 0 1rem 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 3.5rem;
		line-height: 1.2;
	}

	h2 {
		font-size: 2.25rem;
	}

	h3 {
		font-size: 1.5rem;
	}

	h4 {
		font-size: 1.1rem;
	}

	h4.bold {
		font-weight: bold;
	}

	h5 {
		font-size: 0.9rem;
	}

	h6 {
		font-size: 0.7rem;
	}

	sub {
		font-size: 0.8rem;
		position: relative;
		top: 0.5rem;
	}

	sup {
		font-size: 0.8rem;
		position: relative;
		top: -0.5rem;
	}

	blockquote {
		border-left: solid 4px;
		font-style: italic;
		margin: 0 0 2rem 0;
		padding: 0.5rem 0 0.5rem 2rem;
	}

	code {
		border-radius: 4px;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25rem;
		padding: 0.25rem 0.325rem;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2rem 0;
	}

		pre code {
			display: block;
			line-height: 1.5;
			padding: 0.75rem 1rem;
			overflow-x: auto;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

	@media screen and (max-width: 736px) {

		p.major {
			font-size: 1.1rem;
		}

		h1 {
			font-size: 2.5rem;
		}

		h2 {
			font-size: 2rem;
		}

		h3 {
			font-size: 1.25rem;
		}

		h4 {
			font-size: 1rem;
		}

	}

	input, select, textarea {
		color: #000000;
	}

	a {
		color: #000000;
	}

		a:hover {
			color: #ad8330;
		}

	strong, b {
		color: #000000;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #000000;
	}

	blockquote {
		border-left-color: rgba(0, 0, 0, 0.2);
	}

	code {
		background: rgba(0, 0, 0, 0.05);
		border-color: rgba(0, 0, 0, 0.2);
	}

	hr {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
		border: 2px solid rgba(0, 0, 0, 0.2);
	}

/* Image */
	.image {
		border: 0;
		border-radius: 4px;
		display: inline-block;
		position: relative;
	}

		.image img {
			display: block;
			border-radius: 4px;
		}

		.image.left, .image.right {
			width: 40%;
			max-width: 10rem;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 1.5rem 1rem 0;
			top: 0.25rem;
		}

		.image.right {
			float: right;
			margin: 0 0 1rem 1.5rem;
			top: 0.25rem;
		}

		.image.fit {
			display: block;
			margin: 0 0 2rem 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 0 0 3rem 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

/* List */
	ul {
		list-style: disc;
		margin: 0 0 2rem 0;
		padding-left: 1rem;
	}

		ul li {
			padding-left: 0.5rem;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px;
				padding: 0.5rem 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

/* Actions */
	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1rem;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1rem;
			vertical-align: middle;
			text-align: center;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3rem 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(90% + 1rem);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				width: 100%;
			}

				ul.actions.fit li > * {
					width: 100%;
				}

			ul.actions.fit.stacked {
				width: 100%;
			}

			.actions.fit li i {
				color: #ad8330;
			}
			
			.actions.fit.icon li i {
				margin-bottom: 0.5rem;
			}

			.actions.fit.stacked li span i {
				margin-right: 1rem;
				font-size: 1.3rem;
				position: relative;
				vertical-align: middle;
			}



		@media screen and (max-width: 480px) {

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1rem 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}
		}

/* Section/Article */
	section.special, article.special {
		text-align: center;
	}

	header p {
		position: relative;
		margin: -0.65rem 0 1.5rem 0;
		font-style: italic;
	}

	header h1 + p {
		font-size: 1.375rem;
	}

	header h2 + p {
		font-size: 1.25rem;
	}

	header h3 + p {
		font-size: 1.1rem;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9rem;
	}

	header p {
		color: rgba(0, 0, 0, 0.75);
	}


/* Wrapper */
	.wrapper > .inner {
		padding: 7rem 3.5rem 5rem 3.5rem ;
		margin: 0 auto;
		max-width: 100%;
		width: 64rem;
	}

	@media screen and (max-width: 1680px) {

		.wrapper > .inner {
			padding: 5rem 2.5rem 3rem 2.5rem ;
		}

	}

	@media screen and (max-width: 1280px) {

		.wrapper > .inner {
			padding: 4rem 4rem 2rem 4rem ;
		}

	}

	@media screen and (max-width: 980px) {

		.wrapper > .inner {
			padding: 4.5rem 3rem 2.5rem 3rem ;
		}

	}

	@media screen and (max-width: 736px) {

		.wrapper > .inner {
			padding: 3rem 2rem 1rem 2rem ;
		}

	}

/* Spotlight */
	.spotlight {
		-moz-align-items: -moz-stretch;
		-webkit-align-items: -webkit-stretch;
		-ms-align-items: -ms-stretch;
		align-items: stretch;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-moz-justify-content: -moz-flex-end;
		-webkit-justify-content: -webkit-flex-end;
		-ms-justify-content: -ms-flex-end;
		justify-content: flex-end;
		position: relative;
		overflow-x: hidden;
		text-align: left;
	}

	.spotlight.column {
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.spotlight .content {
		padding: 7rem 7rem 5rem 7rem ;
		-moz-align-self: center;
		-webkit-align-self: center;
		-ms-align-self: center;
		align-self: flex-start;
		-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-moz-flex-shrink: 1;
		-webkit-flex-shrink: 1;
		-ms-flex-shrink: 1;
		flex-shrink: 1;
		width: 65%;
		max-width: 64rem;
		margin: 0 auto;
	}

	.spotlight .content.wide {
		padding: 7rem 3rem 5rem 3rem ;
	}

	.spotlight .image {
		-moz-flex-grow: 0;
		-webkit-flex-grow: 0;
		-ms-flex-grow: 0;
		flex-grow: 0;
		-moz-flex-shrink: 0;
		-webkit-flex-shrink: 0;
		-ms-flex-shrink: 0;
		flex-shrink: 0;
		width: 35%;
		min-width: 25rem;
		border-radius: 0;
	}

	.spotlight .image {
		background-color: inherit;
	}

	.spotlight.invert .image {
		background-color: rgba(255, 255, 255, 0.125);
	}

	.spotlight .image img {
		-moz-object-fit: cover;
		-webkit-object-fit: cover;
		-ms-object-fit: cover;
		object-fit: cover;
		-moz-object-position: center;
		-webkit-object-position: center;
		-ms-object-position: center;
		object-position: center;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 0;
		padding: 5pt 0;
	}

	.spotlight.orient-right {
		-moz-flex-direction: row-reverse;
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	@media screen and (max-width: 1680px) {

		.spotlight .content {
			padding: 5rem 5rem 3rem 5rem ;
		}

	}

	@media screen and (max-width: 1280px) {

		.spotlight .content {
			padding: 4rem 4rem 2rem 4rem ;
		}

	}

	@media screen and (max-width: 980px) {

		.spotlight .content {
			padding: 3.75rem 3rem 1.75rem 3rem ;
			width: 50%;
			min-width: 0;
		}

		.spotlight .image {
			width: 50%;
			min-width: 0;
		}

	}

	@media screen and (max-width: 736px) {

		.spotlight .content {
			padding: 2.5rem 2rem 0.5rem 2rem ;
		}

	}

	@media screen and (max-width: 980px) and (orientation: portrait) {

		.spotlight {
			-moz-flex-direction: column-reverse;
			-webkit-flex-direction: column-reverse;
			-ms-flex-direction: column-reverse;
			flex-direction: column-reverse;
			text-align: center !important;
		}

		.spotlight ul:not(.icon),
		.spotlight ol {
			text-align: left !important;
			display: inline-block;
			margin-left: 1rem;
		}

		.spotlight .content {
			width: 100%;
		}

		.spotlight .image {
			width: 100%;
		}

			.spotlight .image img {
				position: relative;
				max-height: 800px;
			}

		.spotlight.orient-right {
			-moz-flex-direction: column-reverse;
			-webkit-flex-direction: column-reverse;
			-ms-flex-direction: column-reverse;
			flex-direction: column-reverse;
		}

	}

		@media screen and (max-width: 480px) and (orientation: portrait) {

			.spotlight .image img {
				max-height: 400px;
			}

			.spotlight.therapy .image img {
				max-height: 200px;
			}

			.spotlight.therapy .image.middle img {
				object-fit: cover;
				object-position: center -40px;
				max-height: 400px;
			}
		}

		.spotlight.content-align-center {
			text-align: left;
		}

		.spotlight.content-align-center {
			text-align: center;
		}

		.spotlight.content-align-right {
			text-align: right;
		}

		.spotlight.image-position-left .image img {
			-moz-object-position: left;
			-webkit-object-position: left;
			-ms-object-position: left;
			object-position: left;
		}

		.spotlight.image-position-right .image img {
			-moz-object-position: right;
			-webkit-object-position: right;
			-ms-object-position: right;
			object-position: right;
		}

		.spotlight.image-position-top .image img {
			-moz-object-position: right;
			-webkit-object-position: right;
			-ms-object-position: right;
			object-position: top;
		}

/* Navigation */
	.nav {
		font-size: 14pt;
		display: flex;
		background-color: #fff;
		/* Navigation dauerhaft oben fixieren */
		position: fixed;
		align-items: center;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
	}

	.nav ul {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0;
		padding: 0;
		flex-grow: 1;
	}

	.nav .bar {
		display: flex;
		width: 100%;
		justify-content: center;
	}

	.nav .header {
		display: inline-block;
		width: 80%;
		height: 40pt;
		padding: 0;
		border-top: 2px solid rgba(200, 180, 124, 0.5);
		border-bottom: 2px solid rgba(200, 180, 124, 0.5);
	}

	.nav ul li {
		list-style-type: none;
		margin: 0 20px;
	}

	.nav ul li a {
		color: #333;
		text-decoration: none;
		padding: 10px;
		display: block;
		transition: color 0.3s, transform 0.3s, text-decoration 0.3s;
	}

	.nav ul li a:hover {
		transform: scale(1.1);
		text-decoration: underline;
		text-decoration-color: #c8b47c;
		text-underline-offset: 5px;
	}

	.nav .home-image {
		display: inline-block;
	}

 	.nav .home-image img {
		margin: 10px 30px;
		height: 80px;
		width: auto;
	}

	.home-image a:hover {
		text-decoration: none;
	}

	.nav .nav-toggle {
		display: none;
		cursor: pointer;
		float: right;
		font-size: 1.75rem;
		color: #c8b47c;
		padding: 0.5rem 1rem;
		z-index: 1001;
	}

	.nav .nav-toggle-checkbox {
		display: none;
	}

	@media screen and (max-width: 1280px) {

		.nav {
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
		}

		.nav .home-image {
			position: static;
		}

		.nav .bar {
			justify-content: end;
		}

		.nav .nav-toggle {
			display: block;
			cursor: pointer;
			font-size: 1.75rem;
			padding: 0.5rem 1rem;
			z-index: 1001;
		}
		
		.nav .header {
			position: absolute;
			top: 100%;
			right: 0;
			max-height: 0;
			height: auto;
			opacity: 0;
			transition: max-height .4s ease;
		}

		.nav .nav-toggle-checkbox:checked ~ .header {
			max-height: 500px;
			opacity: 1;
		}

		.nav .header ul {
			display: flex;
			flex-direction: column;
			margin: 0;
			padding: 0;
		}

		.nav .header ul li {
			text-align: right;
		}

		.nav .header ul li:last-child {
			display: none;
		}

		.nav .nav-toggle {
			display: block;
			position: static;
			margin: 0 1rem;
		}

		  .nav .nav-toggle-checkbox:checked ~ .header {
			display: flex;
			flex-direction: column;
			align-items: center;
			background: #fff;
			width: 100%;
		}

		.nav .nav-toggle-checkbox:checked ~ .header ul {
			display: flex;
			flex-direction: column;
			list-style: none;
			width: 100%;
			margin: 1rem 2rem;
		}
		.nav .nav-toggle-checkbox:checked ~ .header ul li {
			width: 100%;
			text-align: center;
		}
		.nav .nav-toggle-checkbox:checked ~ .header ul li a {
			display: block;
			padding: 7pt 1rem;
		}
	}

		@media screen and (max-width: 736px) {

			.nav .home-image img {
				margin: 0 20px;
				height: 60px;
				width: auto;
			}

			.nav .nav-toggle {
				position: relative;
				align-content: center;
			}

			.nav .nav-toggle i {
				height: 40px;
			}
		}

/* Banner */
	.banner {
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-direction: column;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		background-color: inherit;
		position: relative;
		text-align: center;
		overflow-x: hidden;
	}

		.banner .banner-logo {
			position: absolute;
			inset: 0;
			height: 55%;
			pointer-events: none; 
			display: flex;
			justify-content: space-between;
			flex-direction: row;
			z-index: 1;
		}

		.banner .banner-logo .mandala {
			flex: 0 0 25vw;
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
		}

		.banner .banner-logo .mandala.left {
			align-items: flex-end;
		}

		.banner .banner-logo .mandala.right {
			align-items: flex-start;
		}

		.banner .banner-logo .logo {
			width: 50vw;
			padding: 3%;
			align-items: center;
			justify-content: center;
			align-content: center;
		}

		.banner .banner-logo .logo img {
			display: inline-block;
			width: auto;
			max-width: 70%;
			max-height: 70%;
		}

		.banner .banner-logo .mandala.left img {
			position: absolute;
			left: calc(-0.8 * min(45vh, 25vw));
			bottom: calc(-0.8 * min(45vh, 25vw));
			width: calc(1.8 * min(45vh, 25vw));
			height: auto;
			transform: rotate(45deg);
		}

		.banner .banner-logo .mandala.right img {
			position: absolute;
			right: calc(-0.8 * min(45vh, 25vw));
			top: calc(-0.8 * min(45vh, 25vw));
			width: calc(1.8 * min(45vh, 25vw));
			height: auto;
			transform: rotate(45deg);
		}

		.banner .banner-text {
			position: absolute;
			background-color: #d7ad5a;
			top: 55%;
			left: 0;
			width: 100vw;
			height: auto;
			text-align: left;
			z-index: 2;
		}

		.banner .banner-text h1 {
			font-size: 3.5rem;
			font-weight: 500;
			line-height: 1.2;
			color: #fcfaf4;
			margin: 3rem 5rem 3rem 13rem;
		}

		.banner .banner-text p {
			font-family: 'Comic Neue', sans-serif;
			font-size: 2.5rem;
			font-weight: 600;
			line-height: 1.2;
			color: #944106;
		}

		.banner .image {
			z-index: 0;
			-moz-flex-grow: 0;
			-webkit-flex-grow: 0;
			-ms-flex-grow: 0;
			flex-grow: 0;
			-moz-flex-shrink: 0;
			-webkit-flex-shrink: 0;
			-ms-flex-shrink: 0;
			flex-shrink: 0;
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			border-radius: 0;
		}

		.banner .image img {
			-moz-object-fit: cover;
			-webkit-object-fit: cover;
			-ms-object-fit: cover;
			object-fit: cover;
			-moz-object-position: center;
			-webkit-object-position: center;
			-ms-object-position: center;
			object-position: center;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border-radius: 0;
		}

		.banner.fullscreen {
			min-height: calc(100vh - 100px);
		}

		.banner.halfscreen {
			min-height: 40vh;
			overflow: hidden;
		}

		.banner.halfscreen .banner-logo {
			height: 100%;
		}


		@media screen and (max-width: 1480px) {

			.banner .banner-text h1 {
				font-size: 2.5rem;
				margin: 3rem 5rem 3rem 10rem;
			}

			.banner .banner-logo .logo img {
				max-width: 70%;
				max-height: 70%;
			}

		}

		@media screen and (max-width: 1020px) {

			.banner .banner-text h1 {
				font-size: 2rem;
			}

			.banner .banner-logo .logo img {
				max-width: 85%;
				max-height: 85%;
			}

		}

		@media screen and (max-width: 736px) {

			.banner.fullscreen {
				min-height: calc(100vh - 72pt) !important;
				overflow: hidden;
			}

			.banner .banner-text h1 {
				font-size: 1.5rem;
				margin: 3rem;
			}

			.banner .banner-logo .mandala {
				overflow: visible;
			}

			.banner .banner-logo .mandala.left img {
				position: absolute;
				left: calc(-0.8 * min(45vh, 25vw));
				bottom: calc(-0.8 * min(45vh, 25vw));
				width: calc(2 * min(45vh, 25vw));
				height: auto;
				transform: rotate(45deg);
			}

			.banner .banner-logo .mandala.right img {
				position: absolute;
				right: calc(-0.8 * min(45vh, 25vw));
				top: calc(-0.8 * min(45vh, 25vw));
				width: calc(2 * min(45vh, 25vw));
				height: auto;
				transform: rotate(45deg);
			}
		}

		@media screen and (max-width: 460px) {

			.banner.fullscreen {
				min-height: 80vh !important;
				overflow: hidden;
			}

			.banner .banner-text h1 {
				font-size: 1rem;
				margin: 1.5rem 3rem;
			}

			.banner .banner-logo .logo img {
				max-width: 95%;
				max-height: 95%;
			}

			.banner .banner-logo .mandala.left img {
				position: absolute;
				left: calc(-0.9 * min(45vh, 25vw));
				bottom: calc(-0.9 * min(45vh, 25vw));
				width: calc(2.2 * min(45vh, 25vw));
				height: auto;
				transform: rotate(45deg);
			}

			.banner .banner-logo .mandala.right img {
				position: absolute;
				right: calc(-0.9 * min(45vh, 25vw));
				top: calc(-0.9 * min(45vh, 25vw));
				width: calc(2.2 * min(45vh, 25vw));
				height: auto;
				transform: rotate(45deg);
			}

		}

/* Footer */
	.site-footer {
		background-color: #d7ad5a;
		color: #fcfaf4;
		font-size: 0.8rem;
		align-items: center;
	}

	.site-footer .footer-content {
		display: flex;
		margin: 0 20vw;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		padding: 1.5rem 0.5rem 0.5rem 0.5rem;
		gap: 0.5rem;
	}

	.site-footer .footer-logo {
		flex: 1 1 150px;
		max-width: 200px;
	}

	.site-footer .footer-logo img {
		max-width: 100%;
		height: auto;
		display: block;
	}

	.site-footer .footer-column {
		max-width: 350px;
	}

	.site-footer .footer-column h4 {
		margin-bottom: 0.75rem;
		font-size: 1rem;
		font-weight: 500;
		color: #24363c;
	}

	.site-footer .footer-column p {
		margin: 0 0 0.75rem 0;
		line-height: 1.5;
		font-size: 0.7rem;
		color: #fcfaf4;
	}

	.site-footer .footer-column a {
		color: #fcfaf4;
		text-decoration: none;
		transition: color 0.2s ease-in-out;
	}

	.site-footer .footer-column a:hover {
		color: #24363c;
		text-decoration: underline;
	}

	.site-footer .footer-bottom {
		background-color: #ad8330;
		text-align: left;
		padding: 0.5rem 0;
	}

	.site-footer .footer-bottom p {
		margin: 0 20vw;
		font-size: 0.7rem;
		color: #fcfaf4;
	}

	.site-footer .footer-bottom a {
		text-decoration: none;
		font-size: 0.6rem;
		color: #fcfaf4;
	}

	.site-footer .footer-bottom a:hover {
		color: #24363c;
		text-decoration: underline;
	}

	@media screen and (max-width: 980px) {
		.site-footer .footer-content {
			flex-direction: column;
			gap: 0rem;
			align-items: center;
		}

		.site-footer .footer-column {
			max-width: 100%;
			text-align: center;
		}

		.site-footer .footer-logo {
			margin-bottom: 1.5rem;
		}

		.site-footer .footer-bottom p {
			text-align: center;
			margin: 0;
		}
	}

	@media screen and (max-width: 736px) {
		.site-footer .footer-content {
			padding: 2rem 1rem;
		}
		.site-footer .footer-column h4 {
			font-size: 1rem;
		}
	}

/* Quote */
	.quote-wrapper { text-align: justify; }

	.quote {
		font-family: 'Comic Neue', sans-serif;
		font-size: 1.25rem;
	}

	.non-mobile { display: inline; }

	.mobile { display: none; }

	.author {
		text-align: right;
		margin-top: 40px;
		font-variant-emoji: text;
	}

	@media screen and (max-width: 736px) {
		.non-mobile { display: none; }
		.mobile { display: inline; }
	}

/* Button */
	p.btn {
		text-align: center;
		padding-top: 2rem;
	}
	.btn-contact {
		display: inline-block;
		padding: 0.75rem 1.5rem;
		background-color: #ad8330;
		color: #fcfaf4;
		font-size: 1rem;
		font-weight: 600;
		text-decoration: none;
		border-radius: 4px;
		transition: background-color 0.2s ease-in-out, transform 0.2s ease;
		cursor: pointer;
	}

	.btn-contact:hover {
		background-color: #b99b2d;
		color: #24363c;
	}

/* Methods */

	#methods {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.square {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0rem 0rem;
		justify-content: center;
		align-items: center;
	}

	.square .method {
		padding: 2rem;
		width: 500px;
  		box-sizing: border-box;
		aspect-ratio: 1 / 1;
	}

		.square > *:nth-child(2n) {
			background-color: #d7ad5a98;
		}

		.square > *:nth-child(2n + 1) {
			background-color: #fcfaf4;
		}

	.square .method h4 {
		font-weight: 500;
		margin: 0 0 2rem 0;
	}

	.square .method p {
		line-height: 1.2;
		font-size: 0.9rem;
		text-align: justify;
		margin: 1rem 0;
	}

	.square .method p:last-child {
		margin-bottom: 0;
	}

		@media screen and (max-width: 2050px) {

			.square {
				grid-template-columns: repeat(2, 1fr); 
			}

			.square .method {
				max-width: 500px;
			}

				.square > *:nth-child(4n + 2), .square > *:nth-child(4n + 3) {
					background-color: #d7ad5a98;
				}

				.square > *:nth-child(4n + 1), .square > *:nth-child(4n + 4) {
					background-color: #fcfaf4;
				}
		}

		@media screen and (max-width: 1100px) {

			.square {
				grid-template-columns: 1fr;
			}

				.square > *:nth-child(2n) {
					background-color: #d7ad5a98;
				}

				.square > *:nth-child(2n + 1) {
					background-color: #fcfaf4;
				}

		}

		@media screen and (max-width: 600px) {

			.square .method {
				width: 100%;
				height: auto;
			}

			.square .method p {
				font-size: 1rem;
			}

			.square .method p {
				font-size: 0.8rem;
			}
		}

/* Details */
	.list {
		padding: 0rem 3rem 1rem 3rem;
		max-width: 48rem;
	}

	.list > :last-child {
		margin-bottom: 0;
	}

	.list details {
		border-radius: 6px;
	}

	.list summary {
		font-weight: 500;
		margin: 0 auto;
		list-style: none;
		appearance: none; 
		cursor: pointer;
		padding: 0.5rem 1rem;
		align-items: center;
		justify-content: space-between;
		background-color: #fcfaf4;
		border-radius: 6px;
	}

	.list summary::-webkit-details-marker {
		display: none;
	}

	.list p {
		margin: 0 auto;
		list-style: none;
		cursor: pointer;
		/* text-align: justify; */
		padding: 0.5rem 1rem 1rem 3rem;
		align-items: center;
		justify-content: space-between;
		background-color: #fcfaf4;
		font-size: large;
		border-radius: 0px 0px 6px 6px;
	}

	.list summary::before {
		content: "\f067";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		transition: transform 0.2s ease-in-out;
		margin-right: 1rem;
		color: #ad8330;
	}

	.list[open] summary {
		border-radius: 6px 6px 0px 0px;
	}

	.list[open] summary::before {
		content: "\f068" ;
	}

	@media screen and (max-width: 736px) {

		.list {
			padding: 0rem 0rem 1rem 0rem;
			max-width: 48rem;
		}

		.list p {
			padding: 0.5rem 2rem 1rem 2rem;
		}
	}

/* Karte */
	.address-map-wrapper {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 1.5rem;
		margin-top: 2rem;
	}

	.address-text {
		flex: 0 0 300px;
		max-width: 400px;
		margin-left: 1.5rem;
	}

	.address-text h4 {
		font-weight: bold;
	}

	.address-text p {
		margin-bottom: 0.5rem;
		line-height: 1.5;
	}

	.map-small {
		display: block;
		position: relative;
		flex: 1 1 400px;
		height: 100%;
		min-height: 350px;
		border: 2px solid #fcfaf4;
		overflow: hidden;
	}

	.map-small iframe {
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		border: 0;
	}

@media screen and (max-width: 736px) {

	.address-map-wrapper {
		flex-direction: column;
		gap: 1rem;
	}

	.map-small {
		width: 100%;
		min-height: 250px;
	}

	.address-text {
		max-width: 100%;
		margin: 0;
	}
}

/* Icon */
	i.align {
		margin-right: 0.5rem;
		font-size: 1.3rem;
		position: relative;
		vertical-align: middle;
	}

	i.small {
		margin-right: 0.5rem;
		color: #ad8330;
		font-size: 1rem;
		position: relative;
		vertical-align: middle;
	}

	i.fab.small {
		margin-left: 1px;
		font-size: 20px;
		font-weight: 600;
	}

/* Contact */
	.contact-cards {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 1.5rem;
		margin-bottom: 2rem;
	}

	.contact-card {
		flex: 1 1 300px;
		max-width: 32%;
		background-color: #fff;        
		padding: 1.5rem 1rem;
		box-sizing: border-box;
		text-align: center;
		align-items: center;
		justify-content: center;
	}

	.icon-wrapper {
		width: 80px;
		height: 80px;
		margin: 0 auto 1rem auto;
		background-color: #ad8330;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.icon-wrapper i {
		color: #fcfaf4;
		font-size: 1.5rem;
	}

	.contact-card h3 {
		margin: 0 0 1rem 0;
		font-size: 1.2rem;
		font-weight: 600;
		color: #333;
	}

	.contact-card p {
		display: inline-block;
		text-align: left;
		margin: 0;
		font-size: 1rem;
		line-height: 1.5;
		color: #000;
	}

	.contact-card p a {
		color: #24363c;
		text-decoration: none;
	}
	.contact-card p a:hover {
		color: #ad8330;
		text-decoration: underline;
	}

	.therapy-times table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.95rem;
		color: #333;
	}

	.therapy-times table thead th {
		text-align: left;
		padding: 0.75rem 0.5rem;
		border-bottom: 2px solid #ad8330;
		background-color: transparent;
	}

	.therapy-times table tbody td {
		padding: 0.5rem 0.5rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.therapy-times table tbody tr:last-child td {
		border-bottom: none;
	}

	@media screen and (max-width: 980px) {
		.contact-cards {
			flex-direction: column;
			gap: 1rem;
		}
		.contact-card {
			max-width: 100%;
		}
		.therapy-times table thead th,
		.therapy-times table tbody td {
			padding: 0.5rem 0.25rem;
			font-size: 0.9rem;
		}
	}

/* Gallery */
	.gallery {
		background-color: #000000;
		color: #dab15f;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-overflow-scrolling: touch;
		position: relative;
		background-color: transparent;
	}

		.gallery > .forward, .gallery > .backward {
			text-decoration: none;
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			position: absolute;
			top: 0;
			width: 5rem;
			height: 100%;
			cursor: pointer;
			opacity: 0;
			z-index: 2;
		}

			.gallery > .forward:before, .gallery > .backward:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			.gallery > .forward:before, .gallery > .backward:before {
				display: block;
				top: calc(50% - 1.5rem);
				width: 4rem;
				height: 3rem;
				line-height: 1em;
				font-size: 3rem;
				position: absolute;
				text-align: center;
			}

		.gallery:hover > .forward, .gallery:hover > .backward {
			opacity: 1;
		}

		.gallery > .forward {
			right: 0;
			background-image: linear-gradient(to left, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0));
		}

			.gallery > .forward:before {
				content: '\f105';
				right: 0;
			}

		.gallery > .backward {
			left: 0;
			background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0));
		}

			.gallery > .backward:before {
				content: '\f104';
				left: 0;
			}

		.gallery > .inner {
			display: inherit;
			overflow-x: auto;
			overflow-y: hidden;
			position: relative;
			width: 100%;
		}

		.gallery article {
			-moz-flex-grow: 0;
			-webkit-flex-grow: 0;
			-ms-flex-grow: 0;
			flex-grow: 0;
			-moz-flex-shrink: 0;
			-webkit-flex-shrink: 0;
			-ms-flex-shrink: 0;
			flex-shrink: 0;
			display: block;
			position: relative;
			overflow: hidden;
			width: 22.5rem;
			max-width: 75vw;
			height: 22.5rem;
		}

			.gallery article img {
				display: block;
				height: 100%;
				border-radius: 0;
			}

			.gallery article .caption {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				pointer-events: none;
				-moz-transition: opacity 0.2s ease-in-out;
				-webkit-transition: opacity 0.2s ease-in-out;
				-ms-transition: opacity 0.2s ease-in-out;
				transition: opacity 0.2s ease-in-out;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				padding: 5rem;
				z-index: 1;
				font-size: 1.2rem;
			}

				.gallery article .caption .text {
					max-width: 100%;
					margin: 1rem 1.5rem;
					font-size: 1.0rem;
					color: #ad8330;
					text-align: justify;
				}

				.gallery article .caption .author {
					align-self: flex-end;
					color: #000000;
					max-width: 100%;
					margin: 0.5rem 1.5rem 1rem 1.5rem;
					font-size: 1.2rem;
				}

				.gallery article .caption > :last-child {
					margin-bottom: 0;
				}

		.gallery article {
			width: 30rem;
		}

			.gallery article .caption {
				padding: 4rem;
			}

		@media (hover: none) {
			.gallery > .forward, .gallery > .backward {
				opacity: 1 !important;
			}
		}

		@media screen and (max-width: 980px) {

			.gallery article .caption {
				padding: 3rem;
			}

		}

		@media screen and (max-width: 736px) {

			.gallery article {
				width: 25rem;
				max-width: 85vw;
				height: 22.5rem;
			}

			.gallery article .caption {
				padding: 2rem;
			}

		}

		@media screen and (max-width: 480px) {

			.gallery article {
				width: 25rem;
				max-width: 85vw;
				height: 27.5rem;
			}

			.gallery article .caption {
				padding: 1rem;
			}

			.gallery article .caption .text {
				font-size: 0.9rem;
			}

		}

	.gallery article .image {
		background-color: rgba(0, 0, 0, 0.125);
	}
