html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

h2  {margin-top:15px!important;}
h2, h3, :target,
h2:target,
h3:target,
h4:target,
p:target  {
  scroll-margin-top: 150px!important; /* Abstand vom fixierten Balken */
}


  
        body {
            margin: 0; 
            padding: 0;
            color: #666;  
            font-family: 'GothamLight', 'Roboto',  "Helvetica Neue", Helvetica, Arial, sans-serif;inherit;
            font-weight:300;
            font-size: 85%;
            line-height: 120%;
            background: white;
            }
         p, li {
            font-size: 1.3em;
            line-height:1.4em; 
            font-weight:300;
        }
        strong {
            font-weight: bold; 
            color: #777;  
            }   
         a {
            color: #a7415b;  
            } 
        h1,h2, h3, h4, h5, h6 {
            margin: 0px 0;
            font-family: inherit;
            font-weight:300;}
        
        h2, h3 {font-size:2.4em;
            line-height: 2.5rem;
            color:#000;
            text-align:center;
            font-weight: bold;

        }   
        .container {
            max-width: 1200px;
            margin: auto;
            padding: 0px 0;
        }
        .telefon {
            position:absolute; 
            top:0px;right:0;
            width:100%;
            padding:5px 0;
            background:#955b76;
            position:fixed;
            z-index: 2000
        }
        .telefon h5 {
            text-align:center;
            color:#fff;
            font-size:2.5em;
            line-height: 1.2em;
            margin:10px 0;
        }
          .telefon .frei {
             font-weight:normal;
                 font-size:0.7em;
        }
        
        
        .hero {
            margin-top:90px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 0 20px;
        }
        .hero h1 {
            font-family: 'Anton', sans-serif;
            font-size: clamp(2.0em, 3.5vw, 4.5em);
            line-height: 1.09em;
            color: black;
            //text-transform: uppercase;
        }
     .hero h2 {
            font-size: 2.0em;
            line-height: 1.09em;
            color: black;
            text-transform: uppercase;
        }
        
         .hero h1 span, h2 {
           color: #a7415b; font-weight: bold;
        }
        
         .hero h4 {
            line-height: 120%
        }
        
        .hero .cta {
            background: #a7415b;
            color: white;
            padding: 15px 30px;
            font-size: 2.5em;
            line-height: 120%;
            text-decoration: none;
            display: inline-block;
            border-radius: 50px 0 0 50px;
        }
        
        .hero .cta span, .anruf { font-weight: bold;}
        
        .call {position:fixed; right:0; top:180px}
      
        .section {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            padding: 0px 0px;
        }
        .impressum{
            width:90%; margin: 0 4.5% 0 5%;
            
        }
        .flex {
            flex: 1;
            min-width: 300px;
        }
        .text-block, .color-block {
            padding: 30px;
        }
      .color-block {
            width: 100%;
        }
        .color-block {
            color: #4e4664;
            text-align: left;
            font-family: 'Anton', sans-serif;
            font-size: 2.0em;
            line-height: 1.25em;
            font-weight: 600;
            border-bottom: 2px solid #955b76;
            letter-spacing: 2px;
        }
        
         .images {
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            margin: 20px 0;
        }
        .images div {
            background: #fff;
            padding: 10px;
            margin: 10px;
            flex: 1 1 10%;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        .images img {
            width: 100%;
            height: auto;
        }
        
        .images .hero {
            background: #4e4664;
            padding:30px 25px;
            font-weight: bold;
        }
            
        .images .hero.zwei {
            background: #955b76;
        }
         .images .hero.drei {
             color: #4e4664!important;
            background: #ebb476;
        }
            
        h4 {
            font-size: 1.8em;
            font-weight: bold;
            color: #fff;

        }

        
     
        .subheadline {
            font-family: 'Anton', sans-serif;
            font-size: 2.0em;
            line-height: 1.15em;
            font-weight: 700;
            color: #4e4664;
            text-align: left;
            text-transform: uppercase;
        }
        .subheadline span {
           color:#a7415b;
        }
        
        .footer {
            width:100%;
            margin-top: 50px;
            background: #4e4664;
            text-align:center;
            padding:5px 0;
        }
        .footer p {
            padding: 0px 10px;
            color: #fff;
            text-align:center;
        }
        .footer a {
            color: #fff;
            text-decoration: none;
        }
        
        @media (max-width: 1070px) { 
        .telefon h5 {
            font-size:1.9em;
            margin:10px;
        }    
        h2 {font-size:1.4em!important;
            line-height: 120%;
            text-transform:none;
            letter-spacing: none!important;
        } 
    }
     @media (max-width: 780px) { 
        .telefon h5 {
            font-size:1.4em;
        }
                 h2 {font-size:1.4em!important;
            line-height: 120%;
            text-transform:none;
            letter-spacing: none!important;
        } 
    }
         
     @media (max-width: 550px) { 
        .hero {margin-top: 110px;}
         
         .color-block {
            font-size: 2.0em;
            line-height: 1.25em;   
        }
        }        
   
        
    
    .kontaktform {font-weight: bold; 
                font-size: 1.3em;
            line-height:1.4em; 
            color:#a7415b;
            width:400px;margin: 30px auto }
            
input {width:100%;height:30px;margin:3px 0 15px;border:1px solid #955b76;}
     
 input[type=submit]{
  background-color: #a7415b;
  border: 1px solid #fff;
    width:100%;
  color: white;
 font-weight: bold;
 height:40px;
  text-decoration: none;
  margin: 20px 0 0 0!important;
  cursor: pointer;
} 

