/* CSS Reform Vital */

/* #### Farben ####
Grün: 3.91.34
#035b22

Rot: 199.18.97
#c71261

Rosa: 215.106.139
#d76a8b
*/


/* ----------- Erzeugt ein langsames Scrollen --------------- */
html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
/* ----------- langsames Scrollen ende --------------- */

body {
  font-family: 'Source Sans Pro';
  height: 100%;
  position: relative;
}

@media (max-width: 1200px) {
  legend {
    font-size: calc(1.275rem + 0.3vw);
  }
  h1,
  .h1 {
    font-size: calc(1.375rem + 1.5vw);
  }
  h2,
  .h2 {
    font-size: calc(1.325rem + 0.9vw);
  }
  h3,
  .h3 {
    font-size: calc(1.3rem + 0.6vw);
  }
  h4,
  .h4 {
    font-size: calc(1.275rem + 0.3vw);
  }
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}

/* ############### Logo ################# */
.logo {
max-width: 180px;
}
/* ############### Navigation ################# */

.navbar .navbar-nav .nav-item {
    padding: 0;
    margin-left: 40px;
}

/* Nav Link */
ul#menu {
margin-top: 20px;
}

.navbar .navbar-nav .nav-item .nav-link {
font-family: 'Source Sans Pro';
font-size: 16px;
color: #035b22;
font-weight: 400;
text-transform: uppercase;
padding: 0;
transition: all .3s ease-in-out;
}

.nav-item li::marker {
display: none;
}

/* Nva Link Under line */
.navbar .navbar-nav .nav-item .nav-link::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #c71261;
    transition: width .4s;
}


/* Nva Link Under line on Hover */
.navbar .navbar-nav .nav-item .nav-link:hover::after {
    width: 100%;
    transform: width .4s;
}

.navbar .navbar-nav .nav-item .nav-link:hover {
    color: #c71261;
}

.navbar .navbar-nav .activated .nav-link::after {
    width: 100%;
    transform: width .4s;
}

.navbar .navbar-nav .nav-item .active  {
    color: #c71261;
}

.navbar .navbar-nav .nav-item .active::after  {
width: 100%;
}

.navbar .navbar-nav .nav-item span {
color: #035b22;
font-size: 18px;
font-weight: 400;
}

@media (max-width: 575.98px) { 
.tel-nummer {
display: none;
}
}

.navbar .navbar-nav .nav-item span .fa-whatsapp {
color: #c71261;
padding: 0px 0px;
vertical-align: center;
margin-right: 5px;
}

.navbar .navbar-nav .nav-item .tel-nummer {
padding: 0px 0px;
display: -webkit-inline-box;
-webkit-box-pack: center;
-webkit-box-align: center;
vertical-align: center;
}

.nav-link .fa-whatsapp {
vertical-align: top;
margin-bottom: 4px;
}



 /* ----------- Hero ------------- */
#hero {
margin-top: 100px; 
 }
 
#carouselReformVital {
position: relative;
}

#carouselReformVital .carousel-caption {
right: 15%;
top: 40px;
left: 15%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
}

#carouselReformVital .carousel-caption h3 {
color: #c71261;
font-size: 3.8rem;
font-weight: 300;
}

#carouselReformVital .carousel-caption h4 {
color: #035b22;
font-size: 1.8rem;
font-weight: 300;
}

@media (max-width: 1199.98px) {
#carouselReformVital .carousel-caption h3 {
font-size: 3.0rem;
}
#carouselReformVital .carousel-caption h4 {
font-size: 1.4rem;
}
}

@media (max-width: 991.98px) {
#carouselReformVital .carousel-caption h3 {
font-size: 2.3rem;
}
#carouselReformVital .carousel-caption h4 {
font-size: 1.1rem;
}
}

 /* ----------- Wellen unten ------------- */

.hero-abschluss {
position: absolute;
bottom: -1px;
left: 0px;
width: 100%;
height: auto;
z-index: 1;
overflow: hidden;
}

.hero-abschluss img{
width: 102%;
margin-left: -4px;
height: auto;
opacity: 0.7;
}

.hero-abschluss2 {
position: absolute;
bottom: -1px;
left: 0px;
width: 100%;
height: auto;
z-index: 2;
overflow: hidden;
}

.hero-abschluss2 img{
width: 102%;
margin-left: -10px;
height: auto;
}

 /* ----------- Wellen oben ------------- */

.hero-abschluss-oben {
position: absolute;
top: -1px;
left: 0px;
width: 100%;
height: auto;
z-index: 1;
overflow: hidden;
}

.hero-abschluss-oben img{
width: 102%;
margin-left: -10px;
height: auto;

}

.hero-abschluss-oben2 {
position: absolute;
top: -1px;
left: 0px;
width: 100%;
height: auto;
z-index: 2;
overflow: hidden;
}

.hero-abschluss-oben2 img{
width: 102%;
margin-left: -2px;
height: auto;
opacity: 0.7;
}



 /* ----------- Content ------------- */
.jumptarget {
position: relative;
width: 10px;
}

.jumptarget:before {
display: block;
content: " ";
margin-top: -80px;
height: 80px;
visibility: hidden;
}

#startbody h1,h2,h3,h4,h5 {
font-family: 'Source Sans Pro';
}

#philosophie .headline-rot, #service .headline-rot, #preise .headline-rot, #kontakt-content .headline-rot {
color: #c71261;
font-size: 3.8rem;
font-weight: 300;
text-transform: uppercase;
}

#startbody .headline-gruen, #service .headline-gruen, #kontakt-content .headline-gruen {
color: #035b22;
font-size: 3.8rem;
font-weight: 300;
text-transform: uppercase;
}

@media (max-width: 575.98px) { 
#philosophie .headline-rot, #service .headline-rot, #preise .headline-rot, #kontakt-content .headline-rot {
font-size: 2.8rem;
}
#startbody .headline-gruen, #service .headline-gruen, #kontakt-content .headline-gruen {
font-size: 2.8rem;
}
}

#startbody .subheadline {
color: #383838;
font-size: 1.4rem;
font-weight: 300;
line-height: 1.8rem;
}

#startbody p,li, #philosophie p, #service p, #kontakt-content p {
font-family: 'Source Sans Pro';
font-size: 1.35rem;
font-weight: 300;
color: #464849;
hyphens: auto;
-webkit-hyphens: auto;
-webkit-hyphenate-limit-chars: auto 5;
-webkit-hyphenate-limit-lines: 4;
-ms-hyphens: auto;
-ms-hyphenate-limit-chars: auto 5;
-ms-hyphenate-limit-lines: 4;
}

#philosophie {
position: relative;
}

#leistungen h3 {
color: #c71261;
font-size: 1.8rem;
font-weight: 300;
text-transform: uppercase;
}

#leistungen p {
font-family: 'Source Sans Pro';
font-size: 1rem;
font-weight: 400;
color: #464849;
hyphens: auto;
-webkit-hyphens: auto;
-webkit-hyphenate-limit-chars: auto 5;
-webkit-hyphenate-limit-lines: 4;
-ms-hyphens: auto;
-ms-hyphenate-limit-chars: auto 5;
-ms-hyphenate-limit-lines: 4;
}

/*-------------- Link-Boxen ---------------*/

#link-boxen .link-box {
color: #fff;
display: block;
overflow: hidden;
margin: 0;
}

#link-boxen .link-box-link {
color: #fff;
text-decoration: none;
font-size:2.8rem;
font-weight: 300;
}

#link-boxen .link-box-link:hover {
color: rgba(255,255,255,0.7);
text-decoration: none;
}

#link-boxen .link-box-image:hover {
transform: scale(1.05);
-webkit-filter: brightness(0.5);
filter: brightness(0.5);
}

#link-boxen .link-box-image {
position: relative;
display: inline-block;
width: 100%;
vertical-align: middle;
transition: transform .2s; /* Animation */
}

#link-boxen .link-box-text {
position: absolute;
display: block;
width: 100%;
height: 100%;
top: 0;
left: 0;
text-align: center;
text-transform: uppercase;
background-color: rgba(0,0,0,.45);
overflow: hidden;
-webkit-transition: all .45s ease-in-out 50ms;
-moz-transition: all .45s ease-in-out 50ms;
transition: all .45s ease-in-out 50ms;
}

/*-------------- Parallax Philosophie ---------------*/
.parallax-philo {
  /* The image used */
  background-image: url("../images/parallax-philosophie.jpg");

  /* Set a specific height */
  height: 600px;

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
/*-------------- Service ---------------*/
.logo-picto {
max-width: 50px;
}



/*-------------- Parallax Massage ---------------*/
.parallax-massage {
position: relative;
  /* The image used */
  background-image: url("../images/parallax-massage.jpg");

  /* Set a specific height */
  height: 500px;

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*-------------- Parallax Preise ---------------*/
.parallax-preise {
position: relative;
  /* The image used */
  background-image: url("../images/parallax-preise.jpg");

  /* Set a specific height */
  height: 500px;

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
 /* Turn off parallax scrolling for all tablets and phones. Increase/decrease the pixels if needed */
@media only screen and (max-device-width: 1366px) {
.parallax-philo, .parallax-massage, .parallax-preise {
background-attachment: scroll;
}
} 

/*-------------- Preise ---------------*/
#preise p {
font-weight: 300;
color: #464849;
font-size: 1.35rem;
margin-bottom: 1px;
}

#preise .rot {
color: #c71261;
}

#preise .gruen {
color: #035b22;
}



/*-------------- Kontakt ---------------*/
#kontakt-content {
  position: relative;
  background-image: url("../images/bg-kontakt.jpg");
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: contain;
}

#kontakt-content p,td{
color: #444;
}

.parallax-preise {
  /* The image used */
  background-image: url("../images/parallax-preise.jpg");

  /* Set a specific height */
  height: 500px;

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#anfahrt a {
color: #c71261;
font-size: 2.8rem;
font-weight: 300;
text-transform: uppercase;
}

#anfahrt a:hover {
color: #035b22;
text-decoration: none;
}

#kontakt-content .abstand-footer{
height: 300px;
}

@media (max-width: 767.98px) { 
#kontakt-content .abstand-footer{
height: 450px;
}
}

#footer {
position: absolute;
display: block;
left: 0px;
bottom: 0px;
width: 100%;
z-index: 2;
background: rgba(199,18,97,0.7);
}




/*-------------- Footer ---------------*/
#footer p,a{
font-size: 0.90rem;
color: white;
text-decoration: none;
}

#footer a:hover {
color: #035b22;
text-decoration: none;
}

#myBtnB {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  top: 50%; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */  
  animation-name: hinweis-einblendung;
  animation-duration: 3s;
}

#myBtnB .sidebar-icon {
cursor: pointer; /* Add a mouse pointer on hover */
background-color: #035b22;  
color: white; 
width: 46px;  
height: 46px;   
padding: 10px 15px;
border-radius: 27px; /* Rounded corners */ 
font-size: 18px; /* Increase font size */
}

#myBtnB .sidebar-icon:hover {
background-color: #c71261;  
}

@keyframes hinweis-einblendung {
  from {right: -70px;}
  to {right: 40px;}
}




/*--------- Button Scroll Top ---------*/

#myBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #c71261; /* Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px 15px; /* Some padding */
  border-radius: 27px; /* Rounded corners */
  font-size: 18px; /* Increase font size */
}

#myBtn:hover {
  background-color: #035b22; /* Add a dark-grey background on hover */
  border: 1px solid white;
}


/*--------- Modal ---------*/
.modal-dialog {
    max-width: 90%;
    margin: 30px auto;
}

.modal-title {
    font-size: 2.1rem;
}

.modal-header {
    background-color: #c71261;
}

.modal-body p, li{
color: #212529;
font-size: 1rem;
font-weight: 400;
}

.modal-body a{
color: #c71261;
font-size: 1rem;
}

.close {
    color: #fff;
    text-shadow: 0 1px 0 #000;
    opacity: .5;
}

.modal-title {
color: white;
}

.btn-secondary {
    color: #fff;
    background-color: #c71261;
    border-color: #c71261;
}
.btn-secondary:hover {
    color: #fff;
    background-color: #035b22;
    border-color: #035b22;
}