@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Taviraj:ital,wght@0,300;0,400;0,600;1,300;1,600&display=swap");
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: 'Taviraj', serif;
  font-weight: 400;
  font-size: calc(1vw + .25rem);
  -ms-scroll-snap-type: y proximity;
      scroll-snap-type: y proximity;
  scroll-behavior: smooth;
}

@media screen and (max-width: 600px) {
  html, body {
    font-size: calc(2.5vw + .25rem);
  }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
  html, body {
    font-size: calc(1.3vw + .25rem);
  }
}

@media screen and (min-width: 1480px) {
  html, body {
    font-size: calc(.9vmax + .25rem);
  }
}

@media screen and (min-width: 1920px) {
  html, body {
    font-size: calc(.8vmax + .25rem);
  }
}

@media screen and (min-width: 2300px) {
  html, body {
    font-size: calc(.65vmax + .25rem);
    scroll-padding-top: 10vmin;
  }
}

img {
  display: block;
}

:after, :before,
p, h1, h2, h3, h4, h5, h6,
main, header, footer, nav, div, section, article {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

a:-webkit-any-link {
  text-decoration: none;
  color: #700074;
}

a:-moz-any-link {
  text-decoration: none;
  color: #700074;
}

a:any-link {
  text-decoration: none;
  color: #700074;
}

video {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center top;
     object-position: center top;
}

p {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  color: #084a00;
  letter-spacing: .2px;
}

cite {
  display: block;
  text-align: center;
  font-size: calc(calc(1vw + .25rem) * 1.3);
  font-weight: 400;
  font-style: italic;
  color: #700074;
  max-width: 55ch;
  margin: 0 auto;
}

@media screen and (max-width: 600px) {
  cite {
    font-size: calc(calc(2.5vw + .25rem) * 1.3);
  }
}

@media screen and (min-width: 1920px) {
  cite {
    font-size: calc(1vmax + .25rem);
  }
}

h1, h2, h3 {
  color: #700074;
  margin-bottom: 1.5rem;
}

h1, h2 {
  font-weight: 400;
  font-size: calc(calc(1vw + .25rem) * 2.2);
  line-height: 1.2;
  font-style: italic;
}

@media screen and (max-width: 600px) {
  h1, h2 {
    font-size: calc(calc(2.5vw + .25rem) * 2.2);
  }
}

@media screen and (max-width: 600px) and (min-width: 1024px) {
  h1, h2 {
    font-size: calc(calc(1.3vw + .25rem) * 2.2);
  }
}

@media screen and (min-width: 1480px) {
  h1, h2 {
    font-size: calc(calc(.9vmax + .25rem) * 2.2);
  }
}

@media screen and (min-width: 1920px) {
  h1, h2 {
    font-size: calc(calc(.8vmax + .25rem) * 2.2);
  }
}

@media screen and (min-width: 2300px) {
  h1, h2 {
    font-size: calc(calc(.65vmax + .25rem) * 2.2);
  }
}

h2 {
  font-style: normal;
}

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 300;
  width: 100%;
  height: 15vmin;
  padding: 0.75vh calc(25vw / 2);
  border-bottom: 1px solid #700074;
  background: white;
  line-height: 1.5;
}

header > * {
  -ms-flex-preferred-size: 30vw;
      flex-basis: 30vw;
  width: 30vw;
}

@media screen and (max-width: 600px) {
  header {
    padding: 0.5rem calc(6vw / 2);
    line-height: 1.5;
  }
  header p, header h2 {
    font-size: calc(calc(2.5vw + .25rem) * .9);
  }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
  header {
    padding: 0.5rem calc(10vw / 2);
    line-height: 1.5;
  }
  header p, header h2 {
    font-size: calc(calc(1.3vw + .25rem) * 1.3);
  }
}

@media screen and (min-width: 2300px) {
  header {
    height: 10vmin;
  }
}

header article {
  /*         flex-basis: 25%;
        max-width:15vw;
        flex-grow:1; */
}

@media screen and (max-width: 600px) {
  header article {
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
    width: 25vw;
  }
}

header .header-address a:link {
  color: unset;
}

header .headerName {
  position: relative;
  text-align: center;
}

header .headerName h2 {
  margin: 0;
  font-size: calc(calc(1vw + .25rem) * 1.3);
  text-transform: uppercase;
  line-height: unset;
}

header .headerName br {
  margin-bottom: unset;
}

@media screen and (max-width: 600px) {
  header .headerName p, header .headerName h2 {
    margin: 0;
    font-size: calc(calc(2.5vw + .25rem) * .9);
  }
}

@media screen and (min-width: 1920px) {
  header .headerName p, header .headerName h2 {
    font-size: calc(1vmax + .25rem);
  }
}

#logo {
  height: 80%;
  padding-bottom: .2em;
}

#logo img {
  max-height: 100%;
  margin: 0 auto;
}

nav {
  position: fixed;
  display: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: calc(15vmin + 1vw);
  width: 30ch;
  right: calc(25vw / 2);
  padding: 1rem 3.5rem;
  background: white;
  font-size: calc(1vw + .25rem);
  -webkit-box-shadow: 6px 6px 6px gray;
          box-shadow: 6px 6px 6px gray;
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

@media screen and (max-width: 600px) {
  nav {
    font-size: calc(calc(2.5vw + .25rem) * 1.3);
    width: 25ch;
    right: calc(6vw / 2);
  }
}

@media screen and (max-width: 1024px) {
  nav {
    font-size: calc(calc(1.3vw + .25rem) * 1.3);
    width: 35ch;
  }
}

nav p {
  border-top: 1px solid #084a00;
  padding: .25rem 0;
}

nav p:last-child {
  border-bottom: 1px solid #084a00;
}

nav a:hover {
  color: #084a00;
}

.hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 70%;
}

.hamburger img {
  max-width: 40%;
}

.checker {
  opacity: 0;
}

.checker:checked ~ label.checker-toggle::after {
  content: 'close';
  text-align: center;
}

.checker:checked ~ label.checker-toggle {
  background: url(../bm/icons/hamburger-close.png) no-repeat;
  background-position: center top;
  background-size: 100%;
}

.checker:checked ~ nav {
  display: block;
  opacity: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.checker-toggle {
  position: absolute;
  margin: 0 auto;
  bottom: .75vh;
  width: 4.5vw;
  height: 4.5vw;
  background: url(../bm/icons/hamburger.png) no-repeat;
  background-size: 100%;
  background-position: center top;
}

@media screen and (max-width: 600px) {
  .checker-toggle {
    font-size: calc(calc(2.5vw + .25rem) * 1.3);
    height: 7.5vw;
    width: 7vw;
    background-size: 100%;
    right: 6vw;
  }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
  .checker-toggle {
    font-size: calc(calc(1.3vw + .25rem) * 1.3);
    height: 5.5vw;
    width: 5vw;
    background-size: 100%;
    right: 10vw;
  }
}

@media screen and (min-width: 1480px) {
  .checker-toggle {
    width: 3.5vw;
    height: 3.5vw;
  }
}

.checker-toggle::after {
  content: 'Menü';
  text-transform: uppercase;
  position: absolute;
  bottom: 0;
  inset: auto 0 0 0;
  font-size: calc(1vw + .25rem);
  text-align: center;
  color: #084a00;
}

@media screen and (max-width: 600px) {
  .checker-toggle::after {
    font-size: calc(1.5vw + .25rem);
  }
}

@media screen and (min-width: 1480px) {
  .checker-toggle::after {
    font-size: 1vw;
  }
}

.image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 30vw;
}

@media screen and (max-width: 600px) {
  .image {
    height: 40vw;
  }
  .image img {
    height: 90%;
  }
}

@media screen and (min-width: 1920px) {
  .image {
    height: 20vw;
  }
}

.image img {
  max-height: 90%;
}

.image--hero-start {
  background-image: url(../bm/bg/hero-start.jpg);
}

.image--hero-coaching {
  background-image: url(../bm/hero/coaching_hero.jpg);
}

@media screen and (max-width: 600px) {
  .image--hero-coaching {
    background-image: url(../bm/hero/coaching_hero_s.jpg);
  }
}

.image--hero-ueber-mich {
  background-image: url(../bm/hero/uebermich_hero.jpg);
}

@media screen and (max-width: 600px) {
  .image--hero-ueber-mich {
    background-image: url(../bm/hero/uebermich_hero_s.jpg);
  }
}

.image--hero-pages {
  background-image: url(../bm/hero/seiten_hero.jpg);
}

@media screen and (max-width: 600px) {
  .image--hero-pages {
    background-image: url(../bm/hero/seiten_hero_s.jpg);
  }
}

.image--hero-uebermich {
  background-image: url(../bm/hero/home_hero.jpg);
}

@media screen and (max-width: 600px) {
  .image--hero-uebermich {
    background-image: url(../bm/hero/home_hero_s.jpg);
  }
}

.image--cite-01 {
  background-image: url(../bm/bg/blumen_01.jpg);
  height: unset;
  min-height: 20vw;
}

.ellipse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 30vw;
}

@media screen and (max-width: 600px) {
  .ellipse {
    height: 50vw;
  }
}

@media screen and (min-width: 1920px) {
  .ellipse {
    height: 20vw;
  }
}

.ellipse img {
  max-height: 90%;
}

.ellipse--home {
  background-image: url(../bm/hero/home_hero.jpg);
}

@media screen and (max-width: 600px) {
  .ellipse--home {
    background-image: url(../bm/hero/home_hero_s.jpg);
  }
}

.ellipse--coaching {
  background-image: url(../bm/hero/coaching_subhero.jpg);
}

@media screen and (max-width: 600px) {
  .ellipse--coaching {
    background-image: url(../bm/hero/seiten_subhero_s.jpg);
  }
}

.ellipse--holstein {
  background-image: url(../bm/hero/uebermich_subhero.jpg);
}

@media screen and (max-width: 600px) {
  .ellipse--holstein {
    background-image: url(../bm/hero/uebermich_subhero_s.jpg);
  }
}

.ellipse--pages {
  background-image: url(../bm/hero/seiten_subhero.jpg);
}

@media screen and (max-width: 600px) {
  .ellipse--pages {
    background-image: url(../bm/hero/seiten_subhero_s.jpg);
  }
}

#cookie {
  position: fixed;
  width: 100%;
  bottom: 0px;
  background-color: #700074;
  padding: 2px;
  text-align: center;
  border-top: 1px solid red;
  display: none;
  opacity: 1;
  z-index: 1000;
}

#cookie h2 {
  font-size: 1.2rem;
  margin: .1em 0 0;
}

#cookie p {
  max-width: 100ch;
  line-height: 1.2;
  color: white;
  margin: 0 auto;
}

#cookie p a:link {
  color: unset;
}

.cookie_btn {
  position: relative;
  display: block;
  max-width: 6%;
  margin: 1em auto;
  background-color: white;
  color: #084a00;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 1.2em;
  text-align: center;
}

.cookie_btn:hover {
  cursor: pointer;
}

@media only screen and (max-width: 500px) {
  .cookie_btn {
    min-width: 20%;
    margin-left: 40%;
    margin-right: 40%;
    font-size: 1em;
  }
}

footer {
  position: relative;
  width: 100%;
  scroll-snap-align: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #700074;
  padding: 4vh 0;
}

footer a:-webkit-any-link {
  color: white;
}

footer a:-moz-any-link {
  color: white;
}

footer a:any-link {
  color: white;
}

footer article {
  width: 30ch;
}

footer p {
  font-size: calc(calc(1vw + .25rem) * 1.3);
  display: block;
  color: white;
}

footer article:first-child {
  margin-right: 1rem;
}

footer article:first-child p {
  text-align: right;
}

@media screen and (max-width: 600px) {
  footer p {
    font-size: calc(calc(2.5vw + .25rem) * 1.3);
  }
}

@media screen and (max-width: 1024px) and (min-width: 1024px) {
  footer p {
    font-size: calc(calc(1.3vw + .25rem) * 1.3);
  }
}

@media screen and (min-width: 1480px) {
  footer p {
    font-size: 1vmax;
  }
}

@media screen and (min-width: 1920px) {
  footer p {
    font-size: calc(1vmax + .25rem);
  }
}

@media screen and (min-width: 2300px) {
  footer p {
    font-size: calc(.9vmax + .25rem);
  }
}

section {
  position: relative;
  width: 100%;
  padding: 2vw 25vw;
  margin-bottom: 5vmin;
  scroll-margin-top: 15vmin;
  scroll-snap-align: start;
}

section article p {
  padding-left: 4ch;
  margin-bottom: 1.2em;
}

@media screen and (max-width: 600px) {
  section {
    padding: 2vw 6vw;
  }
  section article p {
    padding-left: unset;
  }
}

@media screen and (max-width: 1024px) and (min-width: 600px) {
  section {
    padding: 2vw 10vw;
  }
}

@media screen and (min-width: 1480px) {
  section {
    padding: 2vw 30vw;
  }
}

@media screen and (min-width: 1920px) {
  section {
    padding: 2vw 32vw;
  }
}

@media screen and (min-width: 2300px) {
  section {
    padding: 2vw 34vw;
  }
}

.kontakt-content br {
  margin-bottom: unset;
}

.kontakt-content p {
  font-size: calc(calc(1vw + .25rem) * 1.3);
  text-align: center;
  max-width: 40ch;
  margin: 0 auto;
}

.kontakt-content p a:-webkit-any-link {
  color: #084a00;
}

.kontakt-content p a:-moz-any-link {
  color: #084a00;
}

.kontakt-content p a:any-link {
  color: #084a00;
}

.kontakt-content p a:last-of-type {
  color: #700074;
}

@media screen and (max-width: 600px) {
  .kontakt-content p {
    font-size: calc(calc(2.5vw + .25rem) * 1.3);
  }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
  .kontakt-content p {
    font-size: calc(calc(1.3vw + .25rem) * 1.3);
  }
}

@media screen and (min-width: 1920px) {
  .kontakt-content p {
    font-size: calc(1vmax + .25rem);
  }
}

@media screen and (min-width: 2300px) {
  .kontakt-content p {
    font-size: calc(.9vmax + .25rem);
  }
}

.aktuelles {
  position: relative;
  width: 110%;
  left: -5%;
  padding: 1em;
  background: #f0fad2;
}

.logo-content img {
  max-width: 40%;
  margin: 0 auto;
}

.scrollSnap {
  scroll-snap-align: start;
}
/*# sourceMappingURL=maho-base.css.map */