@import 'fonts/Titillium/stylesheet.css';


/* src/00-vars.css */

:root {
	--color--black: rgb(0, 0, 0);
	--color--white: rgb(255, 255, 255);
	--color--grey: rgb(170, 170, 170);
	--color--grey-light: rgb(230, 230, 230);
	--color--grey-dark: rgb(60, 60, 60);
	--color--sand: rgb(240, 234, 219);
	--color--red: rgb(230, 61, 88);
	--color--rose: rgba(230, 61, 88, .15);
	--color--pink: rgb(250, 60, 240);
	--color--green: rgb(100, 171, 63);
	--color--green-light: rgb(168, 205, 126);
	--color--green-bright: rgb(206, 226, 188);
	
	--font-family--default: 'Titillium', sans-serif;
	
	--font-weight--extralight: 200;
	--font-weight--light: 300;
	--font-weight--regular: 400;
	--font-weight--semibold: 500;
	--font-weight--bold: 600;
	
	--font-weight--default: 300;
	
	--font-size--small: 12px;
	--line-height--small: 19px;
	
	--font-size--default: 16px;
	--line-height--default: 24px;
	
	--font-size--enlarged: 20px;
	--line-height--enlarged: 28px;
	
	--font-size--lead: 26px;
	--line-height--lead: 36px;
	
	--font-size--large: 32px;
	--line-height--large: 38px;
	
	--font-size--huge: 36px;
	--line-height--huge: 46px;
}

@media (min-width: 700px) {
	:root {
		--font-size--small: 14px;
		--line-height--small: 22px;
	
		--font-size--default: 20px;
		--line-height--default: 29px;
	
		--font-size--enlarged: 24px;
		--line-height--enlarged: 33px;
	
		--font-size--lead: 29px;
		--line-height--lead: 39px;
	
		--font-size--large: 35px;
		--line-height--large: 41px;
	
		--font-size--huge: 46px;
		--line-height--huge: 55px;
	}
}

@media (min-width: 1000px) {
	:root {
		--font-size--small: 16px;
		--line-height--small: 24px;
	
		--font-size--default: 24px;
		--line-height--default: 34px;
	
		--font-size--enlarged: 28px;
		--line-height--enlarged: 38px;
	
		--font-size--lead: 32px;
		--line-height--lead: 42px;
	
		--font-size--large: 38px;
		--line-height--large: 44px;
	
		--font-size--huge: 56px;
		--line-height--huge: 64px;
	}
}


/* src/01-base.css */

html {
	font-family: var(--font-family--default);
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--default);
	line-height: var(--line-height--default);
	letter-spacing: .03em;
}

html, body {
	margin: 0;
	padding: 0;
}

body {
	color: var(--color--black);
	background: var(--color--white);
}

a {
	color: inherit;
	text-decoration: underline;
}

b {
	font-weight: 800;
}

p {
	margin: 1.5em 0;
}


/* src/02-layout.css */

.l-header {
	position: relative;
	z-index: 3;
}

.l-body {
	position: relative;
	z-index: 1;
}

.l-footer {
	position: relative;
	z-index: 1;
}

.l-news {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 5;
}

.l-nav {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 2;
}

.l-phone-icon {
	position: absolute;
	right: 25px;
	top: 130px;
	z-index: 4;
}

@media (min-width: 700px) {
	.l-phone-icon {
		display: none;
	}
}


/* src/03-atoms.css */

.a-bold-link {
	font-weight: var(--font-weight--bold);
	text-decoration: none;
}

.a-bold-link--black {
	color: var(--color--black);
}

.a-bold-link--red {
	color: var(--color--red);
}

.a-bold-link--green {
	color: var(--color--green);
}

.a-button {
	font-weight: 800;
	font-size: var(--font-size--default);
	line-height: 1;
	color: var(--color--black);
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
	padding: .6em 1.5em;
	border: 3px solid var(--color--black);
	border-radius: 3px;
	background: transparent;
	outline: 0;
	cursor: pointer;
}

@keyframes a-icon {
	0%	{transform: rotate(0deg)}
	20%	{transform: rotate(15deg)}
	40%	{transform: rotate(-15deg)}
	60%	{transform: rotate(15deg)}
	80%	{transform: rotate(0deg)}
}

.a-icon {
	display: block;
	width: 60px;
	height: 60px;
	background-color: var(--color--sand);
	background-position: center center;
	background-size: 80%;
	background-repeat: no-repeat;
	border-radius: 50%;
	cursor: pointer;
}

.a-icon:hover {
	animation: a-icon .8s ease-in-out;
}

.a-icon--red {
	background-color: var(--color--red);
}

.a-icon--mail {
	background-image: url('../img/icon-email.svg');
}

.a-icon--phone {
	background-image: url('../img/icon-phone.svg');
}

.a-index-item {
	display: block;
	padding: 2px;
	cursor: pointer;
}

.a-index-item::before {
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color--red);
}

.a-index-item--white::before {
	background-color: var(--color--white);
}

.a-index-item.is-current {
	padding: 0;
}

.a-index-item.is-current::before {
	width: 9px;
	height: 9px;
	background-color: transparent;
	border: 5px solid var(--color--red);
}

.a-index-item--white.is-current::before {
	border-color: var(--color--white);
}

.a-slat {
/* 	overflow: hidden; */
}

.a-slat > * {
	transition: transform 1s, opacity 1s;
}

.a-slat--sand {
	background: var(--color--sand);
}

.a-slat--rose {
	background: var(--color--rose);
}

.a-slat--green {
	background: var(--color--green-bright);
}

.a-slat--gap {
	padding: 60px 0;
}

.a-slat--gap-s {
	padding: 30px 0;
}

.a-slat--gap-l {
	padding: 90px 0;
}

.a-slat--gap-xl {
	padding: 120px 0;
}

.a-slat--gap-top {
	padding-top: 60px;
}

.a-slat--gap-s-top {
	padding-top: 30px;
}

.a-slat--gap-l-top {
	padding-top: 90px;
}

.a-slat--gap-xl-top {
	padding-top: 120px;
}

.a-slat--gap-bottom {
	padding-bottom: 60px;
}

.a-slat--gap-s-bottom {
	padding-bottom: 30px;
}

.a-slat--gap-l-bottom {
	padding-bottom: 90px;
}

.a-slat--gap-xl-bottom {
	padding-bottom: 120px;
}

.a-slat.is-hidden > * {
	transform: translateY(180px);
	opacity: 0;
}

.a-img-inline {
	display: inline-block;
	max-width: 100%;
}

@media (min-width: 1000px) {
	.a-icon {
		width: 90px;
		height: 90px;
	}
}


/* src/04-m-article.css */

.m-article {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}

.m-article--align-top {
	align-items: flex-start;
}

.m-article__col {
	width: 100%;
}

.m-article__col--text {
	order: 1;
}

.m-article__col--image {
	order: 2;
}

.m-article__col + .m-article__col {
	margin-top: 30px;
}

.m-article__image {
	display: block;
	width: 100%;
	background: var(--color--grey-light);
}

.m-article__text-tag {
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--small);
	line-height: var(--line-height--small);
	text-transform: uppercase;
	margin: 0 0 1em 0;
}

.m-article__text-headline {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	text-transform: uppercase;
	margin: .25em 0 1em 0;
	width: 75%;
	min-width: 10em;
	max-width: 100%;
}

.m-article__col--wide-headline .m-article__text-headline {
	width: 100%;
}

.m-article--red .m-article__text-headline {
	color: var(--color--red);
}

.m-article--green .m-article__text-headline {
	color: var(--color--green);
}

.m-article__image {
}

@media (min-width: 700px) {
	.m-article {
	}
	
	.m-article__col {
		width: calc(50% - 25px);
		order: 1;
	}
	
	.m-article__col--image {
		padding-bottom: 1rem;
	}

	.m-article__col + .m-article__col {
		margin-top: 0;
	}
}

@media (min-width: 1000px) {
	.m-article__col--text {
		width: calc(50% - 60px);
	}
	
	.m-article__col--image {
		width: calc(50% - 20px);
	}
}


/* src/04-m-banner.css */

.m-banner {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10%;
	box-sizing: border-box;
	padding: 0 30px;
	background-color: var(--color--green-light);
}

.m-banner__img,
.m-banner__content {
	width: 100%;
}

.m-banner__img {
	order: 2;
	max-width: 300px;
}

.m-banner__content {
	color: var(--color--white);
	order: 1;
	max-width: 400px;
}

m.-banner__content-title {
	margin: 0;
}

.m-banner__content-title-img {
	display: block;
	margin: 0;
}

.m-banner__content-text {
	margin: 0;
}

@media (min-width: 700px) {
	.m-banner {
		flex-wrap: nowrap;
	}
	
	.m-banner__img {
		width: 50%;
		max-width: 600px;
		order: 1;
	}

	.m-banner__content {
		color: var(--color--white);
		width: 50%;
		padding-right: 10%;
		max-width: 500px;
		order: 2;
	}
}


/* src/04-m-footer.css */

.m-footer {
	position: relative;
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 90px 30px;
}

.m-footer__box {
	display: block;
	padding: 50px 30px 0;
}

.m-footer__box--hours {
	padding: 50px;
	background: var(--color--sand);
}

.m-footer__box-title {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	text-transform: uppercase;
	margin: 0;
}

.m-footer__hours {
	text-transform: uppercase;
	width: 100%;
	margin-top: 1rem;
}

.m-footer__hours-row {
}

.m-footer__hours-cell {
	font-size: var(--font-size--enlarged);
	padding: .5em 0;
}

.m-footer__hours-cell--time {
	font-weight: var(--font-weight--bold);
	color: var(--color--red);
	text-align: center;
}

.m-footer__links {
	padding: 0 30px;
}

.m-footer__links-link {
	font-weight: var(--font-weight--bold);
	color: var(--color--red);
	text-decoration: none;
	text-transform: uppercase;
}

.m-footer__links-link + .m-footer__links-link {
	margin-left: 1rem;
}

.m-footer__top-link {
	font-size: var(--font-size--huge);
	color: var(--color--red);
	text-decoration: none;
	position: absolute;
	right: 0;
	bottom: 90px;
}

@media (min-width: 1000px) {
	.m-footer__cols {
		display: flex;
		justify-content: space-between;
	}

	.m-footer__col {
		width: calc(50% - 30px);
	}
}


/* src/04-m-header.css */

.m-header {
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	padding: 50px 30px;
	margin: 0 auto;
	display: flex;
	align-items: center;
}

.m-header__logo {
	display: block;
	width: calc(100% - 90px);
}

.m-header__logo-img {
	display: block;
	width: 100%;
	max-width: 300px;
}

.m-header__contact {
	display: none;
}

.m-header__contact-mail {
	display: block;
}

.m-header__contact-phone {
	display: block;
}

.m-header__burger {
	width: 40px;
	padding-left: 50px;
}

.m-header__burger-button {
	display: block;
	width: 40px;
	height: 40px;
	outline: 0;
	border: 0;
	background-color: transparent;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/icon-burger.svg');
	cursor: pointer;
}

.m-header__burger-button.is-close {
	background-image: url('../img/icon-close.svg');
}

@media (max-width: 699px) {
	.m-header__logo.is-inverted {
		background-image: url('../img/logo-dr-soja-huebert-inverted.svg');
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left top;
	}

	.m-header__logo.is-inverted .m-header__logo-img {
		opacity: 0;
	}
}

@media (min-width: 700px) {
	.m-header__logo {
		width: 50%;
	}
	
	.m-header__contact {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 20px;
		width: calc(50% - 90px);
	}
}

@media (min-width: 1000px) {
	.m-header__logo-img {
		width: auto;
		max-width: none;
		height: 100px;
	}
}


/* src/04-m-headline.css */

.m-headline {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	text-align: center;
	text-transform: uppercase;
	width: 100%;
	max-width: 900px;
	margin: 0 auto
}

.m-headline--black {
	color: var(--color--black);
}


/* src/04-m-info.css */

.m-info {
	text-align: center;
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}

.m-info__headline {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	text-transform: uppercase;
	margin: 0;
}

.m-info__cols {
	padding-top: 30px;
}

.m-info__col {
	text-align: left;
	color: var(--color--red);
	width: 100%;
}

.m-info__col + .m-info__col {
	margin-top: 60px;
}

.m-info__col-headline {
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	text-transform: uppercase;
}

@media (min-width: 700px) {
	.m-info__cols {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	.m-info__col {
		width: calc(50% - 30px);
	}
	
	.m-info__col + .m-info__col {
		margin: 0;
	}
}


/* src/04-m-links.css */

.m-links {
	width: 100%;
}

.m-links__link {
	font-size: var(--font-size--lead);
	line-height: var(--font-size--lead);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 40px 20px 45px;
	vertical-align: center;
}

.m-links__link:first-child {
	color: var(--color--white);
	background-color: var(--color--red);
}

.m-links__link:last-child {
	color: var(--color--red);
	background-color: var(--color--rose);
}

.m-links__link::before {
	content: '⭢';
	font-size: var(--font-size--huge);
	position: relative;
	bottom: -.375rem;
	margin-right: 1rem;
}

@media (min-width: 700px) {
	.m-links {
		display: flex;
	}
	
	.m-links__link {
		width: 50%;
		padding: 60px 30px 70px;
	}
}


/* src/04-m-nav.css */

.m-nav {
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--white);
	position: absolute;
	right: 0;
	top: 0;
	box-sizing: border-box;
	width: 100vw;
	padding: 260px 10vw 90px 10vw;
	background: var(--color--grey-dark);
	transition: right .25s;
}

.m-nav.is-hidden {
	right: -100vw;
}

.m-nav__link {
	text-decoration: none;
	text-transform: uppercase;
	display: block;
	margin: 1rem 0;
	transition: color .3s;
}

.m-nav__link:hover:not(.m-nav__link--active) {
	color: var(--color--grey);
}

.m-nav__link--active {
	color: var(--color--red);
}

@media (min-width: 700px) {
	.m-nav {
		font-size: var(--font-size--default);
		line-height: var(--line-height--default);
		width: 50vw;
	}

	.m-nav.is-hidden {
		right: -50vw;
	}
}


/* src/04-m-news.css */

.m-news {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	min-width: 100vw;
	min-height: 100vh;
	padding: 1rem;
	background-color: rgba(0,0,0,0.3);
}

.m-news__article {
	text-align: center;
	position: relative;
	width: 100%;
	max-width: 1000px;
	padding: 3rem 2rem 2rem;
	background-color: var(--color--white);
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.1);
}

.m-news__headline {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--huge);
	line-height: var(--line-height--huge);
	text-transform: uppercase;
	color: var(--color--red);
}

.m-news__subline {
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
}

.m-news__body {
}

.m-news__close {
	position: absolute;
	right: 1rem;
	top: 1rem;
	display: block;
	width: 40px;
	height: 40px;
	outline: 0;
	border: 0;
	background-color: transparent;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/icon-close.svg');
	cursor: pointer;
}


/* src/04-m-phone.css */

.m-phone {
	display: flex;
	align-items: center;
	gap: 20px;
	text-decoration: none;
}

.m-phone__icon {
	width: 60px;
}

.m-phone__text {
	font-weight: var(--font-weight--bold);
	color: var(--color--red);
	width: calc(100% - 20px - 60px);
}

@media (min-width: 1000px) {
	.m-phone__icon {
		width: 90px;
	}
	
	.m-phone__text {
		width: calc(100% - 20px - 90px);
	}
}


/* src/04-m-quote.css */

.m-quote {
	text-align: center;
	width: 100%;
	max-width: 1060px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}

.m-quote__img {
	display: block;
	width: 80%;
	max-width: 400px;
	margin: 0 auto 60px;
}

.m-quote__text {
	font-size: var(--font-size--lead);
	line-height: var(--line-height--lead);
	margin: 0;
}

.m-quote__text::before {
	content: '„';
}

.m-quote__text::after {
	content: '“';
}

.m-quote__author {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--small);
	line-height: var(--line-height--small);
	margin: 0;
}

.m-quote__text + .m-quote__author {
	margin-top: .5em;
}


/* src/04-m-services.css */

.m-services {
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}

.m-services__service {
}

.m-services__service + .m-services__service {
	margin-top: 60px;
}

.m-services__service-image {
	width: 200px;
	height: 200px;
	margin-right: 100px;
	border-radius: 50%;
	background-color: var(--color--red);
}

.m-services__service-content {
	width: 100%;
	flex-shrink: 2;
}

.m-services__service-image + .m-services__service-content {
	margin-top: 30px;
}

.m-services__service-headline {
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	text-transform: uppercase;
	margin: 0;
}

.m-services__service-text {
}

.m-services__footer {
	font-weight: var(--font-weight--semibold);
	font-size: var(--font-size--lead);
	line-height: var(--line-height--lead);
	color: var(--color--red);
	width: 100%;
	padding: 30px 0 0;
}

@media (min-width: 700px) {
	.m-services__service {
		display: flex;
		justify-content: space-between;
	}

	.m-services__service-image + .m-services__service-content {
		margin-top: 0;
	}

	.m-services__footer {
		width: calc(100% - 200px - 100px);
		margin: 0 0 0 auto;
	}
}


/* src/04-m-slideshow.css */

.m-slideshow {
	position: relative;
	width: 100%;
}

.m-slideshow__slides {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 0;
	padding-top: 45%;
}

.m-slideshow__slide {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	opacity: 0;
	transition: opacity 1s;
}

.m-slideshow__slide.is-current {
	z-index: 2;
	opacity: 1;
}

.m-slideshow__index-container {
	position: absolute;
	bottom: 30px;
	left: 30px;
	z-index: 2;
}

.m-slideshow__index {
}

.m-slideshow__index + .m-slideshow__index {
	margin-top: 8px;
}


/* src/04-m-team.css */

.m-team {
	width: 100%;
	max-width: 1050px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}

.m-team__member {
}

.m-team__member + .m-team__member {
	margin-top: 30px;
}

.m-team__member-image {
	display: block;
	width: 100%;
	margin-bottom: 1rem;
	background: var(--color--grey-light);
}

.m-team__member-name {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	color: var(--color--red);
	margin: 0;
}

.m-team__member-subline {
	margin: .5rem 0 0;
}

@media (min-width: 700px) {
	.m-team {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 90px 13%;
	}

	.m-team__member + .m-team__member {
		margin-top: 0;
	}
}


/* src/04-m-text.css */

.m-text {
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 30px;
}


/* src/05-o-intro.css */

.o-intro {
	text-align: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 30px;
}

.o-intro__slideshow {
	width: 100%;
}

.o-intro__headline {
	font-weight: var(--font-weight--bold);
	font-size: var(--font-size--huge);
	line-height: var(--line-height--huge);
	color: var(--color--red);
	text-transform: uppercase;
	margin: 1em 0 .5em;
}

.o-intro__subline {
	font-weight: var(--font-weight--default);
	font-size: var(--font-size--large);
	line-height: var(--line-height--large);
	margin: 0 auto;
}

@media (min-width: 700px) {
	.o-intro__subline {
		width: 80%;
	}
}

@media (min-width: 1000px) {
	.o-intro__subline {
		width: 60%;
	}
}


/* src/05-o-slider.css */

.o-slider {
}

.o-slider__slides {
}

.o-slider__slide {
	display: none;
	/*
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	opacity: 0;
	transition: opacity 1s;
	*/
}

.o-slider__slide.is-current {
	display: block;
	/*
	position: relative;
	z-index: 2;
	opacity: 1;
	*/
}

.o-slider__index-container {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	max-width: 1260px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 30px 60px 0;
}

.o-slider__index {
}

.o-slider__index + .o-slider__index {
	margin-left: 4px;
}


/* src/08-utilities.css */

.u-white-space--nowrap {
	white-space: nowrap;
}


/* src/09-globals.css */

.g-hidden {
	display: none;
}

@media screen {
	.g-only-sr {
		display: none;
	}
}


