@font-face
{
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/open-sans-v44-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face
{
  font-family: 'Niconne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/niconne-v16-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html
{
  scroll-behavior: smooth;
}

body
{
  font-family: Open Sans, sans-serif;
}

h1
{
  font-size: 2rem;
  line-height: 1.3;
}

.welcome-row
{
  margin-top: 100px;
  margin-bottom: 40px;
}

h3
{
  font-size: 1.35rem;
  font-weight: 700;
  color: #7c4e7d;
  margin-top: 45px;
}

.textblock p
{
  margin-top: 18px;
}

.kicker
{
  font-size: 1.15rem;
  font-weight: 400;
  color: #7c4e7d;
  margin-top: 0;
  margin-bottom: 8px;
}

p
{
  margin-top:25px;
  font-size: 0.95rem;
  letter-spacing: 0.001rem;
  line-height: 1.625;
}


.navbar
{
  transition: all 0.5s ease 0s;
  box-shadow: 0 1px 5px 0 rgba(0,0,0,0.1);
  min-height: 127px;
  background-color: #fff !important;
}

.navbar-nav
{
  margin-right:0;
  margin-left:auto;
  line-height: 70px;
  color: rgba(0, 0, 0, 0.85) !important;
  font-size: 14px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  text-transform: uppercase;

}

.navbar-nav a:hover
{
  color: rgba(0, 0, 0, 0.55)  ;
}


.main-img
{
  height:700px;
  overflow: hidden;
  
  background-image: url("img/bg-schlafendes-neugeborenes.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}






.color-overlay
{
  background-color: rgba(80, 80, 80, 0.55);
  position: absolute;
  width:100%;
  height:100%;
  left:0;
  z-index: 2;
}

.main
{
  margin-top:126px;
}

.logo
{
  transition: 0.4s;
}

.row-space
{
  margin-top:50px;
}

.row-space-p
{
  padding-top:50px; 
}

.imgPortrait
{
  width: 250px;
  height: 250px;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  -webkit-filter: drop-shadow(12px 12px 25px rgba(0,0,0,0.5));
  filter: drop-shadow(12px 12px 25px rgba(0,0,0,0.5));
}

.card-text
{
  font-size:14px;
}


/* Zeitstrahl "Mein beruflicher Weg" */

/* gleiche Breite wie die Textspalte darueber (col-lg-8) */
.timeline
{
  position: relative;
  max-width: 760px;
  margin-top: 45px;
}

.timeline .card
{
  width: 100%;
  border: none;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(124,78,125,0.10);
}

.timeline .card-body
{
  padding: 20px 24px;
}

.timeline .card-title
{
  font-size: 1.05rem;
  font-weight: 700;
  color: #7c4e7d;
  margin-bottom: 0;
}

.timeline .card-text
{
  margin-top: 10px;
  line-height: 1.6;
}

.timeline .row-space
{
  margin-top: 18px;
}

.timeline::before
{
  width:6px;
  height:100%;
  background-color: #e2d5e2;
  border-radius: 3px;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.circle
{
  width:100%;
  height:100%;
}

.circle::after
{
  position: absolute;
  content:"";
  width:24px;
  height:24px;
  border-radius: 100%;
  background-color: #7c4e7d;
  box-shadow: 0 0 0 5px #f8f5f8;
  left: 0;
  right: 0;
  top:0;
  bottom:0;
  margin-left: auto;
  margin-right: auto;
  margin-top:auto;
  margin-bottom: auto;
}

.card-right
{
  float:right;
}

.card-right::before
{
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #7c4e7d;

  content:"";
  position: absolute;
  right:0;
  left:0;
  margin-left:calc(100%);
  top:0;
  bottom:0;
  margin-top:auto;
  margin-bottom:auto;
}

.card-left
{
  float:left;
}

.card-left::before
{
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-right: 20px solid #7c4e7d;

  content:"";
  position: absolute;
  right:0;
  left:0;
  margin-right: auto;
  top:0;
  bottom:0;
  left: 0;
  margin-top:auto;
  margin-bottom:auto;
  margin-left: -20px;
}

@media only screen and (max-width: 575px)
{
  .timeline::before
  {
    display: none;
  }

  .card-right,
  .card-left
  {
    width:100% !important;
    float: none;
  }

  .circle::after,
  .card-right::before,
  .card-left::before
  {
    display: none;
  }
}



.containerFixed1
{
  margin-top:0;
  background-image: url("img/bg-babyfuesse.jpg");
  min-height: 420px;
  height: 420px;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative;
}

.fixedOverlay
{
  position: absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-color: rgba(80, 80, 80, 0.55);
  
  display: flex;
  align-items: center;
  vertical-align: middle;
  align-content: center; 
}

.textBox > h2
{
  color:white;
  font-weight: 400;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.65rem;
  line-height: 1.35;
  max-width: 780px;
  margin: 0 auto;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}

.script-accent
{
  font-family: 'Niconne', cursive;
  font-weight: 400;
  font-size: 2.1em;
  line-height: 1.2;
  display: inline-block;
  margin-top: 14px;
}







.btnMail
{
  position: fixed;
  height:80px;
  width:80px;
  bottom:40px;
  top:0;
  margin-top:auto;
  margin-right:0;
  margin-left:auto;
  right:40px;
  left:0;
  z-index: 8;

  -webkit-filter: drop-shadow(12px 12px 25px rgba(0,0,0,0.5));
  filter: drop-shadow(12px 12px 25px rgba(0,0,0,0.5));

}




/* Sections */

.section-band
{
  background-color: #f8f5f8;
  border-top: 1px solid #ece4ec;
  border-bottom: 1px solid #ece4ec;
  margin-top: 90px;
  padding-top: 10px;
  padding-bottom: 80px;
}

/* Sprungziel unter der fixierten Navigation ausrichten (Leistenhoehe 127px) */
.anchor-offset
{
  scroll-margin-top: 127px;
}

.underline > h1,
.underline > h2
{
  font-family: 'Niconne', cursive;
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.3;
  color: #7c4e7d;
}

/* lange Einzelwoerter sprengen auf dem Smartphone sonst die Zeile */
@media only screen and (max-width: 575px)
{
  .underline > .heading-long
  {
    font-size: 2.2rem;
  }
}

.underline::after
{
  content:"";
  margin:40px auto;
  width:60px;
  height:0;
  border-bottom: 1px solid #858585;
  display: block;
}


/* Leistungen */

.leistung-block
{
  margin-top: 70px;
}

.leistung-img
{
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(124,78,125,0.15);
}

/* lange Komposita wie "Schwangerschaftsbeschwerden" sprengen sonst die Spalte */
.leistung-text h3
{
  font-size: 1.5rem;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* Bootstrap laesst zwischen Bild- und Textspalte nur 30px, das wirkt gedraengt */
@media only screen and (min-width: 768px)
{
  .leistung-text
  {
    padding-left: 35px;
  }

  .flex-md-row-reverse .leistung-text
  {
    padding-left: 15px;
    padding-right: 35px;
  }

  .leistung-block .textblock
  {
    margin-top: 35px;
  }
}

@media only screen and (min-width: 992px)
{
  .leistung-text
  {
    padding-left: 55px;
  }

  .flex-md-row-reverse .leistung-text
  {
    padding-right: 55px;
  }
}

.leistung-zitat
{
  font-family: 'Niconne', cursive;
  font-size: 1.7rem;
  line-height: 1.35;
  color: #7c4e7d;
  margin-top: 14px;
}

.leistung-untertitel
{
  font-size: 1.1rem;
  font-weight: 700;
  color: #719fb7;
  margin-top: 32px;
  margin-bottom: 0;
}

.leistungsliste
{
  font-size: 0.95rem;
  line-height: 1.7;
  padding-left: 20px;
  margin-bottom: 0;
}

.leistungsliste li::marker
{
  color: #7c4e7d;
}

.leistung-hinweis
{
  border-left: 3px solid #7c4e7d;
  background-color: #f8f5f8;
  padding: 14px 18px;
  margin-top: 28px;
}

@media only screen and (max-width: 767px)
{
  .leistung-text
  {
    margin-top: 22px;
  }
}


/* Impressum */

.impressum-intro
{
  color: #858585;
}

.impressum-untertitel
{
  font-size: 1.1rem;
  font-weight: 700;
  color: #719fb7;
  margin-top: 32px;
  margin-bottom: 0;
}

.impressum-stand
{
  font-size: 0.85rem;
  color: #858585;
}


/* Footer */
.page-footer
{
  background-color:#7c4e7d;
  color:white;
}

.page-footer a:link, a:visited
{
  color:white;
  font-weight: bold;
}

.footer-padding
{
  padding-bottom: 50px;
}












/* Media Queris */

@media only screen and (max-width: 750px) 
{
  .textBox > h2
  {
    font-size: 1.2rem;
  }

  .main-img
  {
    height:600px; 
  }
  
  /*Leistungen*/
  
  
  
  

  
}


@media only screen and (max-width: 1000px) 
{
   
  /*Leistungen*/
  
  
  
  

  
}





/* Contact Form */

.contact-row
{
  margin-bottom: 0;
}

.contact-row a 
{
  color:#212529;
}




