

/*Link #6595A3 
	
	Blue #029EE7 (48%)
	Pink #E846B9
	Heads #333
	Text #555
	
// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }


h1 = 42px
h2 = 32px
h3 = 24px
h4 = 18px
h5 = 16px
h6 = 14px


*/


/* @import url("https://use.typekit.net/rfe8nhe.css"); */
/* @import url("https://use.typekit.net/plr3jat.css"); */





/* font-family: 'ZonaPro';
font-weight: 300;
font-style: normal;

font-family: 'ZonaPro';
font-weight: 500;
font-style: normal;

font-family: 'ZonaPro';
font-weight: 700;
font-style: normal; */



/* font-family: 'ZonaPro';
font-weight: 400;
font-style: normal;

font-family: 'ZonaPro';
font-weight: 400;
font-style: italic;

font-family: 'ZonaPro';
font-weight: 700;
font-style: normal;

font-family: 'ZonaPro';
font-weight: 700;
font-style: italic;

font-family: "din-2014-narrow", sans-serif;
font-weight: 400;
font-style: normal;

font-family: "din-2014-narrow", sans-serif;
font-weight: 700;
font-style: normal; */


body {
  overflow-x: hidden;
  color: #1d1d1b;

  font-family: 'ZonaPro';
  font-size: 1.125rem;
}

.hide {
	display: none; 
}

.grecaptcha-badge { visibility: hidden; }

a {
	font-weight: bold;
  color: #a38c6f;
}

a:hover {
  text-decoration: none;
  color: #a38c6f;
}

b {


}


p {
  line-height: 28px;
}

.bg-blue h4 {
  color: #fff;
  font-weight: 300;
  line-height: 2rem;
}

h6 {
  line-height: 1.75;
}

#standard-page.page-section, 
#viernullvier.page-section{
  padding: 6rem 0;
}

 #single-page.page-section {
   padding: 0rem 0;
 }

@media (min-width: 768px) { 

  #standard-page.page-section, 
  #viernullvier.page-section{
    padding: 10rem 0 3rem;
  }
  
  #single-page.page-section {
    padding: 6rem 0 3rem;
  }


}


img.single-thumb {
  max-width: 310px;
}




.fisch img {
  margin-top: -180px;
  max-width: 240px;
  margin: 0 auto;
  
}


@media (min-width: 768px) { 

  
  .fisch img {
    margin-top: -180px;
    max-width: 360px;
    
  }

}


.fisch {
  position: relative;
  
}

.fisch img {
  display: block;
  width: 100%;
}

.fisch .fish-text {
  position: absolute;
  bottom: 50px;               /* etwas Abstand vom unteren Rand */
  left: 40%;                  /* horizontale Position */
  transform: translateX(-50%) rotate(-15deg);  /* Drehung um -15° */
  transform-origin: center center;             /* Drehpunkt in der Mitte */
  background: transparent;
  color: #1d1d1b;
  padding: 0.5rem 1rem;
  font-family: 'Hartsinger';
  font-size: 2.5rem;
  line-height: .75;
  letter-spacing: .04rem;
}


@media (max-width: 767px) { 
  
  
  .fisch {
    position: relative;
    margin-top: -120px;
    
  }
  
  .fisch .fish-text {
    bottom: 20px;
    font-size: 2rem;
    line-height: .75;
    letter-spacing: .04rem;
  }

}



@media (max-width: 768px) {
    .responsive-flex {
        flex-wrap: wrap;  /* Erlaubt den Buttons, bei Bedarf umzubrechen */
        justify-content: center;  /* Zentriert die Buttons im Container */
    }
}


.backbutton {
  display: block;
  margin: 5px 0 0 0 !important;
}
  
 @media (min-width: 768px) { 
 
   .backbutton {
     display: block;
     margin: 15px 0 0 0 !important;
   }
 
 } 


.bg-light {
  background-color: #EFDA63 !important;
}

.bg-contact {
  background-color: #9b9abc !important;
}

#blog.page-section{
  padding: 3rem 0;
}

@media (min-width: 768px) { 

  #blog.page-section{
    padding: 8rem 0;
  }


}


.cookie-disclaimer a {
    text-decoration: underline;
}

.text-muted.typewriter a{
  text-transform: uppercase;
  font-family: 'ZonaPro';
  font-weight: 400 !important;
}

.typewriter-title {
  font-family: 'ZonaPro';
  font-weight: 400 !important;
}

ul {
  padding-bottom: 1.25rem;
}

@media (max-width: 767px) { 

.page-section {
  text-align: center;
}



}

.page-section {
  padding: 4rem 0;
  background-color: #fff;
}
.page-section h2.section-heading {
  font-size: 2.5rem;
  margin-top: 0;
  margin-bottom: 1rem;
}
.page-section h3.section-subheading {
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
font-family: 'ZonaPro';
  margin-bottom: 4rem;
}

 section {
  padding: 1.5rem 0;
}

@media (min-width: 768px) {
  section {
    padding: 3rem 0;
  }
}
::-moz-selection {
  background: #029EE7;
  text-shadow: none;
}

::selection {
  background: #029EE7;
  text-shadow: none;
}

img::-moz-selection {
  background: transparent;
}

img::selection {
  background: transparent;
}

img::-moz-selection {
  background: transparent;
}





.btn-xl {
  padding: 1.25rem 2.5rem;
  
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 0;
}

.text-blau {
  color: #029EE7;
}

.btn-md, .btn-lg {
border-radius: 2px;
background: rgba(119, 78, 253, 0.5);
border-color: rgba(119, 78, 253, 0.5);
font-family: 'ZonaPro';
font-weight: 500;
font-size: 16px;
color: #fff;
padding: 0.75rem 1.75rem;
text-transform: uppercase;



}

.fa-bookmark {
  color: #CE926A;
  padding-right: 0.4rem;
}

.btn-sm {
  border-radius: 15px;
  font-weight: normal;
   
   font-size: 15px;
   line-height: 27px;
   background-color: #5b96bd;

    padding: .25rem 1rem;
    letter-spacing: 0.5px;
    text-transform:uppercase;
  }
  
 .btn-sm.white {
   background-color:#fff;
   color: rgba(2, 158, 231, 0.8);
 } 

.btn-primary:hover {
  color: #fff;
  background: #a38c6f;
  border-color: #a38c6f;

}


.fa-bookmark:hover {

}


.btn-social {
  height: 2.5rem;
  width: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 100%;
  	color: #555;
   background-color: #eee;
   border-color: transparent;

}

.btn-social a {
	color: #333 ;
}

.btn-social:hover {
  color: #fff;
  background-color: #a38c6f;


}


.btn-social-square {
  font-size: 2rem;
  font-weight: bold;
  height: 58px;
  width: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0.1rem;
  border-radius: 0%;
  background-color: rgba(119, 78, 253, .5);
  border-color: transparent;
}

.btn-social-square:hover {
  color: #fff;
 background-color: #a38c6f;
  border-color: transparent;
}



.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #333;
  background-color: #eee;
  border-color: #eee;
  
}

.btn-primary.disabled, .btn-primary:disabled {
color: #fff;
background-color: rgba(119, 78, 253, .4);
border-color: rgba(119, 78, 253, .4);
}

.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #1D2837;

}

.btn-info {
	background-color: #6595A3;
	border:none;
}

.btn-info a:hover {
	background-color: #a38c6f;
}


.button-social {
  width: 40px;
  height: 40px;
  background-color: #1d1d1b;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, transform 0.3s ease;
  text-decoration: none;
}

.button-social:hover {
  background-color: #a38c6f;
  transform: scale(1.4);
}

.button-social i {
  color: white;
  font-size: 1.25rem; /* entspricht fa-md */
}

h4.float-right a {
  text-decoration: none;
}


.claim {
  font-weight: 200 !important;
  font-size: 22px;
  letter-spacing: 1;
  color: #444
  
}


.buch img {
  margin-bottom: 2rem;
}

@media (min-width: 768px) { 

.buch img {
  max-width: 170px;
  margin-bottom: 2rem;
}


}


/*** NAV UND HEADER ***/


#mainNav {
  top: 0px;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: #fff;
  /* background-color: rgba(32, 36, 40, 1) ; */
 
}
#mainNav .navbar-toggler {
  padding: 0.75rem;
  font-family: 'ZonaPro';
  font-size: 1.75rem;
  color: #1D2837;
  text-transform: uppercase;
  background-color: transparent;
  border: 0;
}
#mainNav .navbar-brand {
  color: #029EE7;
  font-family: 'ZonaPro';
  font-weight: 700;
  letter-spacing: 0.0625em;
  text-transform: uppercase;
  
}
#mainNav .navbar-brand img {
  height: 0.5rem;
  padding-top: -10px;
}
#mainNav .navbar-nav .nav-item .nav-link {
/*    */
  font-family: 'ZonaPro';
  font-size: 1.125rem;
  color: #fff;
  letter-spacing: 0.0625em;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 500;
  padding-left: 10px;
 
  color: #1D2837;
  


}




@media (min-width: 768px) { 

  #mainNav .navbar-nav .nav-item .nav-link {
  
  }

}

#mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
  color: #a38c6f;
  
}

#mainNav .navbar-nav .nav-item .nav-link: {
	background-color: #fff;
  
}

#mainNav .navbar-nav .nav-item .nav-link.active {
	  background-color: transparent;
}


.navbar .container,

.navbar .container-lg{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-center;
    justify-content: space-between;

}

.navbar-nav {
  padding-top: 20px;
}


.navbar .container.navbar-shrink {
 align-items: flex-start;


}

 #mainNav.navbar-shrink {

  border-bottom:1px solid #ddd;

}


@media (min-width: 992px) {
  #mainNav {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    border: none;
    background-color: #fff;
  
    /* background-color: rgba(0, 0, 0, 0.1); */
    /* background-color: rgba(32, 36, 40, 0.9) ; */
    transition: padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
    
  }
  #mainNav .navbar-brand { 
    font-size: 0.5em;
    transition: font-size 0.3s ease-in-out;
  }
  #mainNav .navbar-brand img {
    height: 1rem;
    transition: height 0.3s ease-in-out;
  }
  #mainNav.navbar-shrink {
    padding-top: 0rem;
    padding-bottom: 0rem;
	background-color: rgba(32, 36, 40, 0.9) ;
    background-color: #fff;
    border-bottom:1px solid #ccc;
  
  }
  #mainNav.navbar-shrink .navbar-brand {
    font-size: 0.25em;
    text-align: left;
  }
  
  
  #mainNav.navbar-shrink .navbar-brand svg, #mainNav.navbar-shrink .navbar-brand img {
    height: 30px;
    transition: height 0.5s ease-in-out;
    
  }

  #mainNav .navbar-nav .nav-item {
    margin-right: 1rem;
    padding-left: 0rem;
  }
  #mainNav .navbar-nav .nav-item:last-child {
    margin-right: 0;
  }
  #mainNav .navbar-nav .nav-item .nav-link: {
    background-color: #fff;
    border-radius: 2px;
   
  }
  
}





/* Basis */
.nav-link .bracket {
  position: relative;
  display: inline-block;
  padding: 0 8px;              /* Abstand zu den Klammern */
}

/* Linke Klammer: obere und untere Ecke */
.nav-link .bracket::before,
.nav-link .bracket::after {
  content: "";
  position: absolute;
  width: 8px;   /* Länge der Klammer-„Striche“ */
  height: 8px;
  border-color: currentColor;
  border-style: solid;
  opacity: 0;
  transition: opacity .2s;
}
.nav-link .bracket::before {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;   /* oben + links */
}
.nav-link .bracket::after {
  bottom: 0;
  left: 0;
  border-width: 0 0 2px 2px;   /* unten + links */
}

/* Rechte Klammer: ebenfalls obere und untere Ecke */
.nav-link .bracket-text {
  position: relative;
  display: inline-block;
  padding-right: 8px;    /* sorgt für den Abstand rechts */
}
.nav-link .bracket-text::before,
.nav-link .bracket-text::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-color: currentColor;
  border-style: solid;
  opacity: 0;
  transition: opacity .2s;
}
.nav-link .bracket-text::before {
  top: 0;
  right: 0;
  border-width: 2px 2px 0 0;   /* oben + rechts */
}
.nav-link .bracket-text::after {
  bottom: 0;
  right: 0;
  border-width: 0 2px 2px 0;   /* unten + rechts */
}

/* Sichtbar nur im Active-Zustand */
.nav-link.active .bracket::before,
.nav-link.active .bracket::after,
.nav-link.active .bracket-text::before,
.nav-link.active .bracket-text::after {
  opacity: 1;
}

/* Abstand zwischen den Nav-Items */
.navbar-nav .nav-item {
  margin-right: 0.25rem !important;
}

/* Kein Extra-Abstand beim letzten Item */
.navbar-nav .nav-item:last-child {
  margin-right: 0 !important;
}

/* Schlankeres Padding in den Links */
.navbar-nav .nav-link {
  padding: 0.25rem 0.15rem !important;
}

header.masthead {
  padding-top: 10.5rem;
  padding-bottom: 6rem;
  text-align: left;
  color: #fff;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: bottom center;
  background-size: cover;
  height: 85vh;
  margin-top: 20px;
  margin-top: -22px;
/*   background-image: url("../img/dj-florian-eisele-header-bg.jpg"); */
}


#events .js-scroll-trigger {
	margin-top: 20px;	
}


header.masthead .masthead-subheading {
  font-size: 1.5rem;
  line-height: 1.5rem;
  margin-top: 15px;
  margin-bottom: 25px;
  font-family: 'ZonaPro';
  text-transform: normal;
  font-weight: 700;
  font-style: italic;
  
}
header.masthead .masthead-heading {
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 3.3rem;
  margin-bottom: 2rem;
  font-family: 'ZonaPro';
   font-weight: 700;
  font-style: italic;
}

.masthead-subheading-quote {
	
	font-size: 1.2rem;
	font-style: italic;
	text-align: center;
	
	
}


@media (min-width: 768px) {
  header.masthead {
    padding-top: 14rem;
    background-position: top center;
    padding-bottom: 10rem;
    height: 80vh;
    margin-top: 0px;
   
/*      background-image: url("../img/dj-florian-eisele-header-bg.jpg"); */


  }
  header.masthead .masthead-subheading {
	position: relative;
    font-style: italic;
    margin-bottom: 2rem;

  }
  header.masthead .masthead-heading {
    font-size: 4.5rem;
    font-weight: bold;
    line-height: 4.5rem;
    margin-bottom: 4rem;
  }
  
  .masthead-subheading-quote {
	max-width: 400px;
	font-size: 1.2rem;
	text-align: left;
	
	}

  
}








.container-header {
	width: 100vw;
  
}

@media (min-width: 576px) {
 .container-header {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
.container-header {
    max-width: 1140px;
  }
}
@media (min-width: 992px) {
.container-header {
    max-width: 1140px;
    
  }
}
@media (min-width: 1200px) {
 .container-header {
    max-width: 1140px;
  }
}

/* 
.info-box {
	
}

@media (min-width: 768px) {
	.info-box {
   	 float: right;
   	 padding-left: 50px;
   	 padding-top: 345px;
  }
}
 */

.parallax-window {
     position: relative;
     min-height: 640px;
     background: transparent;
     
     
     /* Stellen Sie sicher, dass Sie hier Ihren Parallax-Effekt korrekt definieren */
     
     
 }
 
 /* .my-parallax-window {
     height: 500px;
     background: transparent;
     position: relative;
     overflow: hidden;
 } */

.parallax-container {
     position: relative;
     overflow: hidden;
     height: 420px;
 }
 
 @media (min-width: 768px) { 
 
  .parallax-container {
       position: relative;
       overflow: hidden;
       height: 720px;

   }
 
 }
 
 .parallax-background {
      position: absolute;
      top: 44px;
      left: 0;
      width: 100%;
      height: 350px; /* Etwas höher als der Container, um beim Scrollen Raum zu bieten */
      min-height: 440px;
      object-fit: cover;
      z-index: 0;
  }
 
 @media (min-width: 768px) { 
   .parallax-background {
        position: absolute;
        top: 84px;
        left: 0;
        width: 100%;
        height: 650px; /* Etwas höher als der Container, um beim Scrollen Raum zu bieten */
        min-height: 640px;
        object-fit: cover;
        z-index: 0;
     
    }
 
 
 }
 
 
 @media (min-width: 1400px) { 
    .parallax-background {
         position: absolute;
         top: 84px;
         left: 0;
         width: 100%;
         height: 750px; /* Etwas höher als der Container, um beim Scrollen Raum zu bieten */
         object-fit: cover;
         z-index: 0;
         margin-top: 0px;
     }
  
  
  }

 
 .parallax-content {
     position: relative;
     z-index: 2;
  
 }
 
 .text-box {
     position: absolute;
     bottom: 15%; /* Abstand vom unteren Rand */
     left: 5%;
     right: 5%;  /* Abstand vom linken Rand */
     color: #fff; /* Textfarbe, ändern Sie dies nach Bedarf */
     background-color: rgba(0, 0, 0, 0.3);
     padding: 20px; 
     border-radius: 10px; 
    
     max-width: 340px; /* Maximale Breite des Kastens */

 }
 
 .text-box h2 {
     margin-top: 0;
     font-size: 18px;
     /* Stil für die Überschrift */
 }
 
 .text-box p {
   font-size: 18px;
     /* Stil für den Absatz */
 }
 
 
 .hero-infos {
   margin-top: 130px;
   
 }
 
 @media (max-width: 767px) { 
 
     
     .hero-infos {
       margin-top: 160px;
       
     }
 
 }
 
 
 .fullwidth-divider-kunden {
  width: 100%;
  height: 40px;
  background-image: url('/img/kunden.png');
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 40px;
  
  
  }
 
.fullwidth-divider-crew {
 width: 100%;
 height: 40px;
 background-image: url('/img/crew.png');
 background-repeat: repeat-x;
 background-position: center;
 background-size: auto 40px;
 
 
 }


 .animated-divider-kunden {
    width: 100%;
    height: 50px;
    background: url('/img/kunden.png') repeat-x center;
    background-size: auto 50px;
    animation: slide-bg 20s linear infinite;
  }
  
  @media (max-width: 767px) { 
    
    .animated-divider-kunden {
      height: 30px;
      background-size: auto 30px;
    }
  
  
  }
  
  @keyframes slide-bg {
    from {
      background-position: 0 center;
    }
    to {
      background-position: 100% center;
    }
  }

 
 .animated-divider-crew {
   width: 100%;
   height: 50px;
   background: url('/img/crew.png') repeat-x center;
   background-size: auto 50px;
   animation: slide-bg 20s linear infinite;
   z-index: 21;
  
 }
 
  
 @media (max-width: 767px) { 
   
   .animated-divider-crew {
     height: 30px;
     background-size: auto 30px;
   }
 
 
 }
 
 @keyframes slide-bg {
   from {
     background-position: 0 center;
   }
   to {
     background-position: 100% center;
   }
 }
 
 
 .hero-box {
   text-align: center;
 }
 
 .hero-box img{
  max-width: 120px;
 }
 
 
 
 
 
 @media (min-width: 768px) { 
    
    
    .hero-infos {
       margin-top: 220px;
  
       
     }
     
     .hero-box img{
      max-width: 200px;
     }
     
       
   }
     
    
    
    
     
   @media (min-width: 1400px) { 
   
   
   .hero-infos {
  
      
    }
}
  
  
  
  
    .text-box {
         position: absolute;
         top: 30%; /* Abstand vom unteren Rand */
         left: 100px;  /* Abstand vom linken Rand */
         color: #fff; /* Textfarbe, ändern Sie dies nach Bedarf */
         background-color: transparent;
         /* padding: 20px;  */
         /* border-radius: 10px;  */
         max-width: 360px; /* Maximale Breite des Kastens */
     }
     
     .text-box h2 {
         margin-top: 0;
         font-size: 32px;
         /* Stil für die Überschrift */
     }
     
     .text-box p {
       font-size: 32px;
         /* Stil für den Absatz */
     }
 
 
 }
 
 @media only screen 
   and (min-device-width : 768px) 
   and (max-device-width : 1024px) 
   and (orientation : portrait) {
   .hero-infos {
      margin-top: 130px;
      
    }
 }
 
 
 .link-container {
     position: absolute;
     bottom: 30px;
     width: 100%;
     text-align: right;
     right: 10%;
 }

 .link-container .btn {
     /* Stil für die Buttons */
 }
 
 /* Optional: Stil für die Navigation und andere Elemente */

#kunden.page-section{
   padding: 2rem 0;
 }
 
 @media (min-width: 768px) { 
 
   #kunden.page-section{
     padding: 1rem 0 2rem;
   }
 
 }


#kunden .card-title a,
#blog .card-title a{
font-family: 'ZonaPro';
  font-weight: normal;
  font-size: 28px;
  text-align: left;
  color: #a38c6f;
  text-transform: uppercase;

}

#kunden .card-title,
#blog .card-title {
  margin-bottom: 0rem !important; 
}





.scroll-row {
  position: relative;
  overflow: hidden;
  height: 50px;
}
.scroll-row::before,
.scroll-row::after {
  content: "";
  position: absolute;
  top: 0; width: 60px; height: 100%;
  pointer-events: none; z-index: 2;
}
.scroll-row::before {
  left: 0; background: linear-gradient(to right, #fff, transparent);
}
.scroll-row::after {
  right: 0; background: linear-gradient(to left, #fff, transparent);
}

/* Basis-Definition aller scroll-contents */
.scroll-content {
  font-size: 32px;
  color: #866b57;
  font-weight: 500;
  text-transform: uppercase;
  display: inline-block;
  white-space: nowrap;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-name: scroll-left;             /* default */
  /* hier greifen die Variablen: */
  animation-duration: var(--duration, 30s);
}

.scroll-content .trenn {
  font-weight: 100;
  padding: 0 .50rem;
}

@media (max-width: 767px) { 

  .scroll-content {
    font-size: 18px;
    
  }
  
  .scroll-row {
    height: 30px;
  }

}

/* Keyframes mit CSS-Variablen für from/to */
@keyframes scroll-left {
  from { transform: translateX(var(--start, 0)); }
  to   { transform: translateX(var(--end, -50%)); }
}
@keyframes scroll-right {
  from { transform: translateX(var(--start, -50%)); }
  to   { transform: translateX(var(--end, 0)); }
}

/* Zeile 1, von links nach rechts? hier scroll-left: */
.row1 .scroll-content {
  --duration: 30s;     /* Dauer der Loop */
  --start: 0%;         /* Start-Offset */
  --end: -50%;         /* End-Offset */
  animation-name: scroll-left;
}
/* Zeile 2, von rechts nach links */
.row2 .scroll-content {
  --duration: 53s;
  --start: -50%;
  --end: 0%;
  animation-name: scroll-right;
}
/* Zeile 3 wieder links nach rechts */
.row3 .scroll-content {
  --duration: 40s;
  --start: 0%;
  --end: -50%;
  animation-name: scroll-left;
}

/* Hover pausiert */
.scroll-row:hover .scroll-content {
  animation-play-state: paused;
}






.news-link {
  font-family: 'ZonaPro';
  font-weight: normal;
  font-size: 1.125rem;
  text-align: center;
  color: #000;
  text-transform: uppercase;
}

.mehr-link {
  font-size: 14px;
}

.mobile-infobox p{
	padding-left: 1rem;
	padding-right: 1rem;
	font-size: 0.85rem;
}


.mobile-infobox {
margin-top:28vh;
	
}


@media (min-width: 768px) { 

	.mobile-infobox {
		margin-top:-120px;
		
	}

} 


.overlay-text {
    opacity: 0;
    transition: opacity 0.4s ease;
}

.position-relative: .overlay-text {
    opacity: 1;
}




#mainNav .navbar-brand img {
 height: 40px;
}

@media (min-width: 992px) {
	#mainNav .navbar-brand img {
	  height: 40px;
	}
		
}

@media (min-width: 992px) {
  #mainNav .navbar-brand.neu img {
    height: 58px;
  }
    
}

#mainNav .navbar-brand svg {
 width: 190px;
 height: 58px;

}


@media (min-width: 992px) {
	#mainNav .navbar-brand svg {
	   width: 354px;
      height: auto;
     
	}
		
}








.site-header{

  height: 320px;
  margin-top: -16px;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: top left;
  background-size: cover;
}

.site-header.physiotherapie-bg {
  background-image: url("../img/physiotherapie-ottensen.jpg");
}



.parallax-container2 {
     position: relative;
     overflow: hidden;
     height: 320px;
     margin-top: -16px;
 }
 
 @media (min-width: 768px) { 
 
  .parallax-container2 {
      margin-top: -60px;
       position: relative;
       overflow: hidden;
       height: 100px;
   }
 
 }
 
 .parallax-background2 {
      position: absolute;
      top: 0px;
      left: 0;
      width: 100%;
      height: 220px; /* Etwas höher als der Container, um beim Scrollen Raum zu bieten */
      object-fit: cover;
      z-index: 0;
  }
 
 @media (min-width: 768px) { 
   .parallax-background2 {
        position: absolute;
        top: 0px;
        left: 0;
        width: 100%;
        height: 100px; /* Etwas höher als der Container, um beim Scrollen Raum zu bieten */
        object-fit: cover;
        z-index: 0;
        margin-top: 0px;
    }
 
 
 }
 
  
  .parallax-content2 {
      position: relative;
      z-index: 2;
  }
 



.parallax-container2 {
      /* Dynamisch geladene URL für das Hintergrundbild */
      background-image: url("../img/julia-header.jpg");
      
      /* Hält das Bild bei Scrollvorgängen fest */
      background-attachment: fixed;
  
      /* Zentriert das Bild horizontal und vertikal */
      background-position: center center;
  
      /* Stellt sicher, dass das Bild den gesamten Container bedeckt */
      background-size: cover;
  
      /* Fügt Farbe hinzu, falls das Bild nicht geladen wird oder zu transparent ist */
      background-color: #yourColor; /* Ersetzen Sie #yourColor mit Ihrer gewünschten Farbe */
      
      /* Höhe des Containers, um sicherzustellen, dass das Bild sichtbar ist */
      height: 100px; /* Passen Sie dies entsprechend Ihrer Designanforderungen an */
  }





/*** SECTION Newsletter ***/
  
  
  .btn-newsletter {
    border: 1px solid background-color: rgba(119, 78, 253, .5);;
    color: #fff;
    padding:1.25rem 2rem;
    max-width: 320px;

    
  }
  
  @media (min-width: 768px) { 
  
    .btn-newsletter {
      margin-left: 1rem;
     
    }
  
  }
  
  #newsletter.page-section{
    padding: 5rem 0;
    margin: 4rem 0;
  }
  
  @media (min-width: 768px) { 
  
    #newsletter.page-section{
      padding: 3rem 0;
      
    }
  
  }
  
  
  
  section#newsletter img {
  
  }
  
  @media (min-width: 768px) { 
  section#newsletter img {
  
  }
  
  
  }
  
  section#newsletter p{
    font-weight: 400;
  }
  
  @media (min-width: 768px) { 
  
  #newsletter .container {
    max-width: 1400px;
  }
  
  
  }







.icon-blue {
  color: #5b96bd;
}

.bg-brown {
  background-color: #ECE3DE;
}

.bg-gray {
  background-color: #E9ECEF;
}



h3.section-heading{
 font-family: 'ZonaPro';
 font-weight: 500;
 font-size: 1.5rem;
 text-transform: uppercase;
 color: #333;
 letter-spacing: -0.01em;
 line-height: 63px;

   
}

@media (min-width: 768px) { 

  h3.section-heading {
   font-size: 1.5rem;
   font-family: 'ZonaPro';
   font-weight: 500;
  }

}

.section-info {
  text-align: center;
}

@media (min-width: 768px) { 

  .section-info {
    text-align: left;
    max-width: 480px;
  }


}

.section-info h2{
  font-family: 'ZonaPro';
font-weight: 500;
}

.blog h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #333;
}

.section-heading.colored {
  color: #029EE7;
}


h1.section-heading {

font-size: 24px;
line-height: 55px;
text-transform: uppercase;
color: #fff;
margin-left: 1rem;


}




@media (min-width: 768px) { 

  h1.section-heading {
  
  font-size: 42px;
  line-height: 55px;
  color: #fff;
  margin-left: 0rem;

  
  }

}

.featurette img {
	margin-top: 4px;
	border-radius: 2px;
}


/*** SECTION INFO ***/





section#info {

}



#info.page-section{
  padding: 2rem 0;
}

@media (min-width: 768px) { 

	#info.page-section{
	  padding: 4rem 0 1rem 0;
	}

}

section#info .card-body {
	padding: 1rem;
}

section#info p{
	font-weight: 400;
}


/*** SECTION BLOG ***/




/*** SECTION podcast ***/




.page-section.bg-blue {
  padding: 2rem 0 2rem 0;
  background-color: #1D3E51;
/*   background-color: #2C3034; */
}


@media (min-width: 768px) { 

	.page-section.bg-blue {
	  padding: 4rem 0 7rem 0;
	}

}	





/*** SECTION crew ***/

.kontakt-part-left {
  /* max-width: 480px;
  margin-right: 2rem; */
}

@media (max-width: 767px) { 

.kontakt-part-left h4.address{
  font-size: 1rem;
}

}



.map-link {
  color: #1d1d1b;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.3s ease;
}

.map-link:hover {
  color: #a38c6f; /* gewünschte Hover-Farbe */
}

.phone-link {
  color: #1d1d1b;
  text-decoration: none;
  transition: color 0.3s ease;
}

.phone-link:hover {
  color: #a38c6f;
}

.kontakt-icons {
  max-width: 25px;
}

@media (min-width: 768px) { 

  .kontakt-icons {
    max-width: 50px;
  }

}


.kontakt-part-right h2 {
  line-height: 1 !important;
  font-size: 1rem;

}

@media (min-width: 768px) { 

  .kontakt-part-right h2 {
    line-height: 1.5 !important;
    font-size: 1.5rem;
  
  }

}

.heading-container {
  display: inline-block;
  position: relative;

}

.overlay-text {
  position: absolute;
  top: -33px;
  left: 61%;
  transform: translateX(-50%) rotate(-15deg);  /* Drehung um -15° */
  transform-origin: center center;             /* Drehpunkt in der Mitte */
  font-size: 1.25rem;
  font-weight: bold;
  color: #a38c6f;
  opacity: 0;
  transition: opacity 4s;
  white-space: nowrap;
  font-family: 'Hartsinger';
  font-size: 4rem;
  line-height: .75;
  letter-spacing: .04rem;
}







.overlay-text.show {
  opacity: 1;
}


img.phone-man {
  max-width: 220px;
  margin-right: 0px;
}

.phone-container img {

    max-width: 220px;
    margin-right: 0px;

}






.phone-container {
  position: relative;
  display: inline-block;    /* oder block/width-100%, je nach Bedarf */
  max-width: 100px;         /* z.B. feste Breite oder per img-fluid steuern */
}


@media (min-width: 768px) { 

    .phone-container {
      position: relative;
      display: inline-block;    /* oder block/width-100%, je nach Bedarf */
      max-width: 300px;         /* z.B. feste Breite oder per img-fluid steuern */
      text-align: center;
    }

}

.phone-container .phone-base {
  display: block;           /* sorgt für korrekte Breite */
  width: 100%;
}

.phone-container .phone-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;              /* exakt über dem Basisbild */
  height: auto;
  opacity: 0.5;             /* Start-Deckkraft */
  animation: draht-fade 2s ease-in-out infinite;
}

@keyframes draht-fade {
  0%, 100%   { opacity: 0.3; }
  50%        { opacity: 0.8; }
}
section#crew h4 {
  font-family: 'ZonaPro';
  font-weight: 400;
}


@media (max-width: 767px) { 

  section#crew h4 {
   font-size: 0.85rem;
  }
  
  .phone-container {
   text-align: right;
  
  }
  

}





section#crew.page-section {
  padding: 2rem 0;
  
  background-image: url("../img/gruppenillu.jpg");
  background-repeat: no-repeat;
  background-position: center 80px;
  background-size:  contain; 
  z-index: 1;
 
}

@media (min-width: 768px) { 

  section#crew.page-section {
    padding: 2rem 0 ;
    background-position: center -50px;
  }


}


@media (max-width: 767px) { 

  .img-kardeelers .col-4 {
    padding: 8px;
  }

}


img.ueber  {


  padding-bottom: 2rem;
  
  
}

@media (min-width: 768px) { 

img.ueber  {
  max-width: 600px;
  padding-left: 1rem;
  padding-bottom: 1rem;
  
  
}

}



section#ueber.page-section {
  padding: 0 0 0 0;
  font-size: 12px;
  text-align: center;
}

@media (min-width: 768px) { 

  section#ueber.page-section {
    padding: 4rem 0 ;
    font-size: 16px;
  }


}



section#ueber {
  background-image: url("../img/uebermich_teaser_01-1.jpg");
  background-repeat: no-repeat;
  background-position: 5% 40%;
  background-size: cover;
 

  min-height: 1400px;

  

}

@media (min-width: 768px) { 

  section#ueber {
    background-image: url("../img/uebermich_teaser_01-1.jpg");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
  
    min-height: 740px;
    
  
  }

}


i

section#ueber span {
  color: #5b96bd;
  
}

section#ueber p{
  font-weight: 400;
  margin: 0 auto;
    max-width: 920px;
}

section#ueber .featurette {
  max-width: 320px;
}

@media (min-width: 768px) { 

  section#ueber .featurette {
    max-width: 100%;
  }

}








/*** SECTION COACHING ***/



#coaching {
  padding-top:2rem;
  padding-bottom: 2rem;
  color: #fff;
  background-image: url("../img/bg-trenner.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin: 0px auto;
  text-align: center;
}

@media (min-width: 768px) { 

  #coaching { 
    text-align: left;
  }

}

#coaching .trenner-text {
  
  font-size: 1.25rem;
  padding-bottom: 2rem;
}

@media (min-width: 768px) { 

  #coaching .trenner-text {
    padding-bottom: 0rem;
    font-size: 1.5rem;
  }

}


/*** SECTION KONTAKT ***/


section#contact {


  /* background-color: #B16661; */
/*   background-color: #2C3034; */
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 3rem;
  
}



#contactform {
  max-width: 700px;
  margin: 0 auto;
}

.contact-intro p{
	text-align: center;
 
	
}

@media (min-width: 768px) { 

	.contact-intro p, .contact-intro .section-heading{
		text-align: center;
      
	}	

}


.heading-with-line {
  display: inline-block;
  position: relative;
  /* optional: etwas Abstand nach rechts, falls gewünscht */
  /* padding-right: 8px; */
}

.heading-with-line::after {
  content: "";
  position: absolute;
  /* direkt an das Ende des Textes */
  left: 100%;
  /* vertikal mittig zur Text-Zeile */
  top: 50%;
  transform: translateY(-50%);
  width: 100px;           /* Breite des Strichs */
  height: 6px;           /* Dicke des Strichs */
  background-color: #9e886b; /* Farbe nach Wunsch */
  margin-left: 10px;
  
}


section#contact .section-heading {

}



section#contact form#contactForm .form-group {
  margin-bottom: 1.5rem;

}
section#contact form#contactForm .form-group input,
section#contact form#contactForm .form-group textarea,
 {
  padding: 1.25rem;
  color: #555;
  border: none;
}
section#contact form#contactForm .form-group input.form-control, 
form#newsletter .form-group input.form-control{
  height: auto;
  background-color: #fff;
}
section#contact form#contactForm .form-group-textarea {
  height: 100%;
  
}
section#contact form#contactForm .form-group-textarea textarea {
  height: 100%;
  min-height: 10rem;
   background-color: #fff;
   border: none;
}
section#contact form#contactForm p.help-block {
  margin: 0;
}
section#contact form#contactForm .form-control:focus {
  border-color: #6595A3;
  box-shadow: none;
}
section#contact form#contactForm ::-webkit-input-placeholder,
section#newsletter ::-webkit-input-placeholder{
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
  text-transform: uppercase
}
section#contact form#contactForm :-moz-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}
section#contact form#contactForm ::-moz-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}
section#contact form#contactForm :-ms-input-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}

/* #sendMessageButton {
	padding-left: 30px !important;
	padding-right: 30px !important;
  border: 1px solid #fff;
  
} */

#contactFormular {
  max-width: 800px;
}

#contactFormular .form-group {
  margin-bottom: 1.5rem;

}
#contactFormular .form-group input,
#contactFormular .form-group textarea {
  padding: 1.25rem;
  color: #555;
  border: none;
}

#newsletter .form-group input,
#newsletter .form-group textarea {
  padding: 1.25rem;
}

#contactFormular .form-group input.form-control {
  height: auto;
  background-color: #fff;
}
#newsletter .form-group input.form-control {
  height: auto;
  background-color: #fff;
}

#contactFormular .form-group-textarea {
  height: 100%;
  
}
#contactFormular .form-group-textarea textarea {
 
  height: 10rem;
   background-color: #fff;
   border: none;
}
#contactFormular p.help-block {
  margin: 0;
}
#contactFormular .form-control:focus {
  border-color: #6595A3;
  box-shadow: none;
}
#contactFormular ::-webkit-input-placeholder {
/*    */
  font-family: 'ZonaPro';
  ffont-weight: 500;
  color: #333;
  text-transform: uppercase
}
#contactFormular :-moz-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}
#contactFormular ::-moz-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}
#contactFormular :-ms-input-placeholder {
/*    */
  font-family: 'ZonaPro';
  font-weight: 500;
  color: #333;
}

/* #sendMessageButton {
  padding-left: 50px !important;
  padding-right: 50px !important;
  border: 1px solid #fff;
  
}


#sendMessageButton .btn-md: {
  background-color: #fff !important;
} */




.wpcf7-not-valid-tip {
  color: lightyellow;
}

.wpcf7 form.sent .wpcf7-response-output {
 border-color: green;
 color: green !important;

}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: lightyellow;
  color: lightyellow !important;
}

.wpcf7-spinner {
  margin-right: -40px;
}



/*** FOOTER ***/

.footer {
  text-align: center;
  font-size: 0.9rem;
  font-family: 'ZonaPro';
  background-color: #C7BDB3;
  background-color: #fff;
  font-weight: 500;
  font-family: 'ZonaPro';
  
/*   background-color: #2C3034; */
  border-top: 1px solid #999;

  
}

.footerinfo {
  font-family: 'ZonaPro';
}

.footer hr {
	padding-top: 4px;
	border-top: 1px solid #fff;
}

a.footerlinks  {
color: #333;
font-weight: 500;
}


a.footerlinks: {
 color: #a38c6f;
}

