@charset "UTF-8";

@font-face { font-family: 'Montserrat'; font-weight:400; font-style:normal; src: url('../font/Montserrat-Regular.ttf') format('truetype'); }
.montserrat-regular {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.onlyprint {
  display: none;
  visibility: hidden;
}

@media all {
  .page-break	{
    display: none; 
  }
}

@media print {
  .page-break	{
    display: block; 
    page-break-before: always;
  }
}
/*
        :root {
            --primary-color: #3C6CC2;
        }
        .bg-primary-custom3 {
            background-color: var(--primary-color);
        }
*/

html, body {
  height: 100%;
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
a {
  color: #7B2893;
  outline:none;
}

.clear {
  clear:both;
}
.email span {
  display:none;
}
.nowrap {
  white-space:nowrap;
}
.wrap {
  white-space:normal;
}
.nobreak {
  word-wrap: normal;
}
.break {
  word-wrap: break-word;
}

.video-container {
  position: relative;
  width: 100%;
  height: calc(100vh - 79px); /* 100% height minus navbar height */
  display: flex;
  justify-content: center;
  align-items: center;
}
.video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5); /* Halbtransparenter schwarzer Hintergrund */
}
.video-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.video-overlay-content img {
  width: 300px; /* Anpassen der Logo-Größe */
}
.video-overlay-content h2 {
  color: #FFEF70; /* 255,239,112 */
  text-align: center;
  font-weight:bold;
  font-size:2.25rem;
}
.video-overlay-content h3 {
  color: #FFEF70; /* 255,239,112 */
  text-align: center;
}
@media (max-width: 992px) {
  .video-container {
    width: auto;
    height: auto;
  }
}
@media (max-width: 768px) {
  .video-container {
    flex-direction: column;
  }
  .video-overlay {
    position: static;
    background-color: transparent;
    height: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color:#7B2893; /* violett */
  }
}

.navbar {
  transition: background-color 0.3s ease;
  background-color: #fff8c1;
  color: #7B2893;  /* 123, 40, 147 */
}
.navbar.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff8c1;
  color: #7B2893;  /* 123, 40, 147 */
  z-index: 999;
}
.navbar-brand img {
  transition: opacity 0.9s ease; /* Übergangseffekt für die Deckkraft */
  opacity: 0; /* Das Logo ist standardmäßig nicht sichtbar */
  height: 50px; /* Höhe des Logos in der Navbar */
  vertical-align: middle; /* Zentriert das Logo vertikal */
  display: none; /* Das Logo ist standardmäßig nicht sichtbar */
}

.custom-navbar {
  background-color: #fff8c1;
  height:79px;
}
.custom-navbar .navbar-brand, .custom-navbar .nav-link {
  color: #7b2893;
}
.custom-navbar .nav-link:hover {
  color: white;
  background-color: #7B2893;
}

.navbar .nav-link {
  color: #7B2893;
}
.navbar .nav-link.active {
  color: #7B2893;
}
.navbar.sticky .nav-link {
  color: #7B2893;
}
.navbar.sticky .nav-link:hover {
  color: white;
  background-color: #7B2893;;
}
.navbar.sticky .nav-link.active {
  color: #7B2893;
  color: white;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%237B2893' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-toggler {
  color: #7B2893;
  border-color: #7B2893; /* Farbe Button-Rahmens */
  border-width: 1px; /* Rahmenbreite */
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler.collapsed {
    border-width: 1px; /* Rahmenbreite */
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler:not(.collapsed) {
  border-width: 1px; /* Rahmenbreite */
  outline: none; /* Entfernt den Fokusrahmen */
  box-shadow: none; /* Entfernt den Boxschatten */
}

/* Stil für das Offcanvas-Menü */
.offcanvas {
  width: 250px; /* Breite des Offcanvas-Menüs */
  right: 0; /* Positionieren des Menüs auf der rechten Seite */
  left: auto; /* Überschreiben der Standardpositionierung */
  background-color:#fff8c1;
  color:#7B2893;
}
.offcanvas .nav-link {
  color: #7B2893;
}
.offcanvas .nav-link:hover {
  color: white;
  background-color: #7B2893;
}
/* Close Button - Off Canvas Menü */
/*
.btn-close.custom-color {
  background-color: transparent;
  border: none;
  background-color:red;
}
.btn-close.custom-color:before,
.btn-close.custom-color:after {
  background-color: red;
}
*/

.section {
  position: relative;
  padding: 3.5rem 0 3.5rem 0;
}
.section:before {
  content: "";
  display: block;
  width: 8rem;
  height: 0.25rem;
  background: #7B2893;
  margin: 0 auto 1.5rem;
}
/* Farbe (jeder zweite) Strich Sectiontrennung */
/*
.section:nth-child(even):before {
  background: #FFEF70;
}
*/
.section:nth-child(even) {
  background-color: #FFEF70;
}
.section:nth-child(odd) {
  background-color: #ffffff;
}
.section h3 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
#services h3 {
  background-color: #f8f9fa;
}

.service-banner {
  object-fit: contain;
  width: 100%;
}
@media (min-width: 576px) {
  .service-banner {
    object-fit: cover;
    height: 400px;
  }
}

#image-klangmassage  {
  object-position: center left;
}
@media (min-width: 992px) {
  #image-klangmassage {
    object-position: center -120px;
  }
}
@media (min-width: 1200px) {
  #image-klangmassage {
    object-position: center -150px;
  }
}
@media (min-width: 1400px) {
  #image-klangmassage {
    object-position: center -200px;
  }
}

#image-klangbad  {
  object-position: center right;
}
@media (min-width: 992px) {
  #image-klangbad {
    object-position: center -60px;
  }
}
@media (min-width: 1200px) {
  #image-klangbad {
    object-position: center -150px;
  }
}
@media (min-width: 1400px) {
  #image-klangbad {
    object-position: center -240px;
  }
}

#image-stimmgabeln  {
  object-position: center center;
}
@media (min-width: 992px) {
  #image-stimmgabeln {
    object-position: center center;
  }
}
@media (min-width: 1200px) {
  #image-stimmgabeln {
    object-position: center center;
  }
}
@media (min-width: 1400px) {
  #image-stimmgabeln {
    object-position: center center;
  }
}

#image-duftmeditation  {
  object-position: center right;
}
@media (min-width: 992px) {
  #image-duftmeditation {
    object-position: center -10px;
  }
}
@media (min-width: 1200px) {
  #image-duftmeditation {
    object-position: center -60px;
  }
}
@media (min-width: 1400px) {
  #image-duftmeditation {
    object-position: center -70px;
  }
}

.section-title {
  color: #7B2893;
  margin-bottom: 2.5rem;
  text-align: center;
}
.section-disclaimer {
  text-align: center;
  font-size: 0.97rem;
  font-weight:bold;
  color: #7B2893;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.custom-section {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.custom-section .image-container,
.custom-section .text-container {
  flex: 1 1 51%;
}
.custom-section .image-container {
  text-align: center;
}
.custom-section img {
  max-width: 100%;
  height: auto;
  max-height: 650px;
}
@media (min-width: 992px) {
  .custom-section .image-container,
  .custom-section .text-container {
      flex: 1;
  }
  .custom-section .image-container {
      max-width: 400px;
  }
  .custom-section .text-container {
      max-width: calc(100% - 400px);
  }
}

/*
#about,
#practice,
#services,
#contact {
  text-align: justify;
}
*/
#services h3 {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  /* Überschrift im gelben Balken */
  /*
  background-color: rgba(255, 239, 112, 0.2);
  border-radius: 20px;
  */
  border: 1px solid black;
  border-radius: 1.25rem;
  box-shadow: 4px 4px 2px 2px lightgray;
}


#practiceCarousel {
/*
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
*/
}
.carousel-item {
  height: 725px; /* Höhe des Karussell-Items */
}
.carousel-item img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

#image-praxis1 {
  object-position: center center;
}
#image-praxis2 {
  object-position: center center;
}
#image-praxis3 {
  object-position: left center;
}
#image-praxis4 {
  object-position: center center;
}
#image-praxis5 {
  object-position: center center;
}
#image-praxis6 {
  object-position: center center;
}
#image-praxis7 {
  object-position: center center;
}
@media (max-width: 992px) {
  #image-praxis2 {
    object-position: 40% center;
  }
}
@media (max-width: 992px) {
  #image-praxis3 {
    object-position: -100px center;
  }
}
@media (max-width: 992px) {
  #image-praxis6 {
    object-position: 40% center;
  }
}

.pricing {
  background-color: rgba(255, 192, 203, 0.2);
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 1.25rem;
  box-shadow: 4px -4px 2px 2px #dadada;
}
.btn-pricing {
  text-align: right
}
@media (max-width: 768px) {
  .btn-pricing {
    text-align:center;
    margin:auto;
    margin-top:1.5rem;
    margin-bottom:0.75rem;
  }
}
.btn-book {
  background-color: #D57CE3;
  color: #FFEF70;
  font-weight:bold;
}
.btn-book:hover {
  background-color: #7B2893;
  color: yellow;
}
.btn-custom {
  background-color: #7B2893;
  color: #FFEF70;
  font-weight: bold;
}
.btn-custom:hover {
  background-color: #7B2893;
  color: white;
}
.nav-item .btn-custom {
  margin-left:1.5rem;
}

.footer {
  padding: 1.5rem 0 1.5rem 0;
  background-color: #333;
  color: white;
  text-align: center;
}
.footer a {
  color: white;
}

.footer certificate {
  width: 150px;
}

.modal-dialog {
  max-width: 90%; /* gewünschte Breite - z.B. 80% des Viewports */
  width: auto; /* Überschreiben der Standardbreite */
  margin:auto;
}
@media (max-width: 768px) {
  .modal-dialog {
    max-width:98%;
  }
  .modal-body {
    padding: 0;
  }
}

/* full viewport height minus padding */
#modal-termin .modal-dialog {
  max-width: 80%%;
  height: calc(100vh - 1rem);
  margin: auto;
}

/* full height of modal dialog */
#modal-termin .modal-content {
  height: 100%;
}

/* Allow the modal body to take full height and enable scrolling within iframe */
#modal-termin .modal-body {
  height: calc(100% - 79px);
  padding: 0;
}

/* Full height iframe to fit modal body */
#termin-frame {
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
  margin: 0;
  border: none;
}

#modal-impressum {
  font-size:0.9rem
}
#modal-impressum {
  font-size:0.9rem
}
#modal-datenschutz {
  z-index:10000;
  font-size:0.9rem

}
/* modal content scrollable*/
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow-y: auto;
}

/* Contact Form */
.application {
  display:none;
}
.response {
  display: none;
  margin-top: 0
  margin-left: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 2px 2px 1px 1px lightgray;
}
.response.success {
  border: 1px solid #4CAF50;
  background-color: #DFF2BF;
  color: #4CAF50;
}
.response.error {
  border: 1px solid #f44336;
  background-color: #FFBABA;
  color: #f44336;
}
.checkbox-container {
    display: flex;
    align-items: flex-start;
}
.checkbox-container input {
    margin-right: 1rem;
    margin-top: 0.3rem;
     /* Passt den Abstand zwischen Checkbox und Text an */
}
.checkbox-container label {
    flex: 1;
}

#link-consent-datenschutz {
  color:white;
}

.custom-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1050;
  background: white;
  padding: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  max-width: 675px;
  width: 100%;
}
.custom-popup .close-btn {
  position: absolute;
  top: 0;
  right: 10px;
  background: none;
  border: none;
  font-size: 50px;
  margin-top:0;
  padding-top:0;
  cursor: pointer;
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
}
.custom-popup img {
  width: 100%;
  cursor: pointer;
}

.quote-text {
  padding: 30px 30px;
  background-color: #f8f9fa;
  background-color: white;
  text-align: center;
  font-style: italic;
}
.quote-text p {
  font-size: 1.5rem;
}
.quote-text .author {
  font-size: 1.2rem;
  margin-top: 20px;
}

.accordion-button-custom {
  background-color: #eeeeee;
  color: black;
}
.accordion-button-custom:not(.collapsed) {
  background-color: #dddddd; /* Hintergrundfarbe, wenn ausgeklappt */
  color: black;
}
.accordion-button-custom:focus {
  box-shadow: none;
}
.accordion-button-custom:hover {
  background-color: #cccccc; /* Hintergrundfarbe bei Hover */
  color: black;
  /* color: white; */ /* Schriftfarbe bei Hover */
}



/* Duft-Meditationen Styles */
/* row-cols-md-7 (ab dem md-Breakpoint = 768px) */
@media (min-width: 992px) {
  .row-cols-lg-7 > * {
    flex: 0 0 auto;
    width: calc(100% / 7);
  }
  .card-title {
    font-size: 1rem;
  }
}
/*
.card img {
  max-height:100px;
  max-width:100px;
  margin-left:auto;
  margin-right:auto;
}
*/
.card-title {
  font-size: 0.8rem;
  font-weight:bold;
}

.oil-card {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 20px;
  height: 100%;
  transition: transform 0.3s ease;
}

.oil-card:hover {
  transform: translateY(-5px);
}

.oil-icon {
  font-size: 1.5rem;
  margin-right: 10px;
}

.oil-list, .oil-themes {
  /* list-style: none; */
  padding-left: 0;

}

.oil-list li, .oil-themes li {
  padding: 5px 0;
  border-bottom: 1px solid #eee;
}

.oil-list img {
  height:50px;
  width:50px;
  margin-right:0.375em;
}

.highlight-box {
  background: #fff9e6;
  border-left: 4px solid #ffd700;
  padding: 25px;
  border-radius: 8px;
  margin: 20px 0;
}


/*
.oil-list-pic {
  height:50px;
  width:50px;
  margin-right:0.375em;
}
*/


    .hovergallery {
      display:inline-flex;
      align-items:center;
    }

    .hovergallery img {
      -webkit-transform:scale(1); /*Webkit: Scale down image to 0.8x original size*/
      -moz-transform:scale(1); /*Mozilla scale version*/
      -o-transform:scale(1); /*Opera scale version*/
      -webkit-transition-duration: 0.5s; /*Webkit: Animation duration*/
      -moz-transition-duration: 0.5s; /*Mozilla duration version*/
      -o-transition-duration: 0.5s; /*Opera duration version*/
      opacity: 1; /*initial opacity of images*/
      margin: 0 10px 5px 0; /*margin between images*/
      z-index: 0;
    }
    
    .hovergallery img:hover {
      -webkit-transform:scale(3.0); /*Webkit: Scale up image to 1.2x original size*/
      -moz-transform:scale(3.0); /*Mozilla scale version*/
      -o-transform:scale(3.0); /*Opera scale version*/
      transform-origin: center left; /*top left; // center center usw. ...*/
      box-shadow:0px 0px 30px gray; /*CSS3 shadow: 30px blurred shadow all around image*/
      -webkit-box-shadow:0px 0px 30px gray; /*Safari shadow version*/
      -moz-box-shadow:0px 0px 30px gray; /*Mozilla shadow version*/
      opacity: 1;
      z-index: 10000;
    }
    /*
    You need to set a transform-origin point.
    The default is center center so you can adjust it to:
        transform-origin:bottom left;
    */
