*, *::before, *::after{
box-sizing: border-box;
}

*{
    margin: 0;
    padding: 0;
    text-decoration: none;
    border: none;
    outline: none;
    scroll-behavior: smooth;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
   
}

:root{
    --color-black: #000;
    --color-white: #ffffff;
    --color-dgray: #282830;
    --color-gray: #5c5e7e;
    --color-red: #c73b2c;
    --color-gold: #ad8f5b;
}
html{
    font-size: 70%;
    /* overflow: hidden; */

}
html p{
    line-height: 1.5;
}
body{
    background: var(--color-black);
    color: var(--color-white);
}

section{
    min-height: 100vh;
    padding: 10rem 9% 2rem;
}

.flexcc{
    display: flex;
    justify-content: center;
    align-items: center;
}
.inflexcc{
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* ANCHOR  */

.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 2rem 9%;
    background: var(--color-black);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
}
.header.sticky{
    border-bottom: .1rem solid rgba(0,0,0, .2);
}
.logo{
    font-size: 2.5rem;
    color: var(--color-white);
    font-weight: 600;
    cursor: default;
}
.navbar a{
    font-size: 1.7rem;
    color: var(--color-white);
    margin-left: 4rem;
    transition: .3s;
}
.navbar a:hover,
.navbar a.active{
    color: var(--color-gold);
}
#menu-icon{
    font-size: 3.6rem;
    color: var(--color-white);
    display: none;
}

/* ANCHOR  */

.home-img img{
    width: 35vw;
    animation: floatImage 4s ease-in-out infinite;
}
@keyframes floatImage{
    0%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(-2.4rem);
    }
    100%{
        transform: translateY(0);
    }
}
.home-content h3{
    font-size: 3.2rem;
    font-weight: 700;
    margin: 2rem 0;
    font-style: italic;
}
.home-content h3:nth-of-type(2){
    margin-bottom: 2rem;
}
span{
    color: var(--color-gold);
}
.red{
    color: var(--color-red);
}
.home-content h1{
    font-size: 5.6rem;
    font-weight: 700;
    line-height: 1.3;
}
.home-content h2{
    font-size: 3.3rem;
}
.home-content p{
    font-size: 1.6rem;
}
.social-media a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: .2rem solid var(--color-red);
    border-radius: 50%;
    font-size: 2rem;
    color: var(--color-red);
    margin: 3rem 1.5rem 3rem 0;
    transition: .5s ease;
}
.social-media a:hover{
    background: var(--color-black);
    color: var(--color-gold);
    border: .2rem solid var(--color-gold);
    box-shadow: 0 0 1rem var(--color-gold);
}

.btn{
    display: inline-block;
    padding: 1rem 2.8rem;
    background: var(--color-black);
    border-radius: 4rem;
    box-shadow: 0 0 1rem var(--color-gold);
    font-size: 1.6rem;
    color: var(--color-gold);
    letter-spacing: .1rem;
    font-weight: 600;
    margin-top: 3rem;
}
.btn:hover{
    background: var(--color-black);
    color: var(--color-red);
    border: .2rem solid var(--color-red);
    box-shadow: 0 0 1rem var(--color-red);
}

/* ANCHOR  */

.about{
    gap: 2.5rem;
    background: var(--color-dgray);
}
.about video{
    width: 200%;
    min-width: 310px;
    border-radius: 1%;
    border: 2px solid var(--color-gold);
    box-shadow: 2px 2px 12px var(--color-gold);
}
.heading{
    text-align: center;
    font-size: 4.5rem;
    margin-bottom: 2rem;
}
.about-content h2{
    text-align: left;
    line-height: 1.2;
}
.about-content h3{
    font-size: 2.6rem;
}
.about-content p{
    font-size: 1.6rem;
    margin: 2rem 0 3rem;
}

/* ANCHOR  */

#app{
    display: flex;
    flex-direction: column;
    gap: 2rem; 
     justify-content: space-evenly;
    
}
.app h3{
    text-align: center;
    font-size: 2rem;
}
.app-box{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
   
    justify-content: center;
}

.app-box-pic{
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    
}

.app-box-cont p{
    text-align: center;
    font-size: 1.6rem;
}
#app img{
    width: 24%;
    aspect-ratio:4/3;
    transition: .5s ease;
}
.app-box-pic img:hover{
    transform: scale(1.05);
}
.abtn{
    max-width: 200px;
    text-align: center;
    }

/* ANCHOR  */

.schule{
    background: var(--color-dgray);
}
.schule h2{
    margin-bottom: 4rem;
}
.schule h3{
    font-size: 2rem;
}
.schule-container{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 2.5rem;
}
table {
    min-width: 70%;
     font-size: calc(1vw + .7rem);
     font-weight: 500;
     border-collapse: collapse;
     background-color: var(--color-black);
     border: 2px solid var(--color-gold);
    box-shadow: 2px 2px 12px var(--color-gold);
     
 }
 
 td, th {
     border: 2px solid var(--color-dgray);
     padding: .5rem 1rem;
     text-align: center;
 
 }
 th {
     color: var(--color-gold);
     text-align: center;
     
 }
 .bred{
     background: var(--color-red);
     color: var(--color-black);
 }
 .bgold{
     background: var(--color-gold);
     color: var(--color-black);
 }

.schule p{
    font-size: 1.6rem;
    margin: .3rem 0 1rem;
}
.schule .drdsgvo_map{
    width: 80%;
    border: 2px solid var(--color-gold);
    box-shadow: 2px 2px 12px var(--color-gold);
}
.schule img{
    width: 40rem;
}


/* ANCHOR  */

.sifu-container{
    display: flex;
    justify-content: space-evenly;
    gap: 2rem;
    padding: 5rem 0;
    }

.sifu-cont h3{
    font-size: 3rem;
}
.sifu-cont h4{
    font-size: 2rem;
}
.sifu img{
    width: 30%;
    border-radius: 5%;
    border: 2px solid var(--color-gold);
    box-shadow: 2px 2px 12px var(--color-gold);
}
.sifu-cont{
    line-height: 2;
}

/* ANCHOR  */

.slider{
    background: var(--color-dgray);
    flex-direction: column;
    gap: 3rem;
    justify-content: flex-start;
}

.carousel{
    overflow: hidden;
    max-width: 800px;
    position: relative;
}
.carousel .carousel-item, .carousel .carousel-item-hidden{
    display: none;
}

  .carousel .carousel-item img{
    width: clamp(300px, calc(18.75rem + ((1vw - 0.4px) * 31.6456)), 800px);
    min-height: 0vw;
    max-height: 600px;
  }

.carousel .carousel-item-visible{
    display: block;
    animation: fadeVisibility 3s;

}
.carousel .carousel-actions{
    display: flex;
    width: 100%;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.carousel .carousel-actions button{
    border-radius: 50px;
    border: 0;
    font-size: 2rem;
       font-weight: bolder;
       color: var(--color-dgray);
       background-color: var(--color-gold);
       cursor: pointer;
        width: 40px;   
        height: 40px;
    }
.carousel .carousel-actions button#carousel-button-prev{
    margin-left: 15px;
}
.carousel .carousel-actions button#carousel-button-next{
    margin-right: 15px;
}

@keyframes fadeVisibility{
    0%{
        opacity: 0;
         }
    100%{
        opacity: 1;
        transform: opacity linear;
    }
}

/* ANCHOR  */

.contact-container{
    font-size: 2rem;
    justify-content: space-around;
    margin-top: 10rem;
    
}

.contact-rechts{
    max-width: 400px;
}

/* ANCHOR  */

.footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 2rem 9%;
    background: var(--color-dgray);
}
.footer-text p{
    font-size: 1.6rem;
}
.footer-iconTop a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .8rem;
    background: var(--color-gold);
    border-radius: .8rem;
    transition: .5s ease;
}
.footer-iconTop a:hover{
    background: var(--color-red);
    box-shadow: 0 0 1rem var(--color-red);
}
.footer-iconTop a i{
    font-size: 2.4rem;
    color: var(--color-dgray);
}
.footer-imp a{
    color: var(--color-gold);
    transition: .5s ease;
}
.footer-imp a:hover{
    color: var(--color-red);
}

.imp{
    line-height: 2;
}
.imp h3{
    font-size: 3rem;
}
.imp p{
    font-size: 1.5rem;
}

/* ANCHOR  */



@media(max-width: 1200px){
    html{
        font-size: 55%;
    }
    #app img{
        width: 44%;
        
    }
}
@media(max-width: 991px){
    .header{
        padding: 2rem 3%;
    }
    section{
        padding: 10rem 3% 2rem;
    }
    .services{
        padding-bottom: 7rem;
    }

    .contact{
        min-height: auto;
    }
    .footer{
        padding: 2rem 3%;
    }
    .carousel .carousel-actions button{
           font-size: 1.5rem;
            width: 25px;   
            height: 25px;
        }
    }
@media(max-width: 768px){
        #menu-icon{
            display: block;
            margin-right: 4rem;
        }
        .navbar{
            position: absolute;
            top: 100%;
            left: 0;
            width: 100vw;
            padding: 1rem 3%;
            background: var(--color-black);
            border-top: .1rem solid rgba(0,0,0, .2);
            box-shadow: 0 .5rem 1rem rgba(0,0,0, .2);
            display: none;
        }
        .navbar.active {
            display: block;
            text-align: center;
        }
        .navbar a{
            display: block;
            font-size: 2rem;
            margin: 3rem 0;
        }
        .home{
            flex-direction: column;
        }
        .home-content h3{
            font-size: 2.6rem;
        }
        .home-content h1{
            font-size: 5rem;
        }
        .home-img img{
            width: 70vw;
            margin-top: 4rem;
        }

        .about{
            flex-direction: column-reverse;
        }
        .about video{
            width: 70vw;
            margin-top: 4rem;
        }
        
        .services h2{
            margin-bottom: 3rem;
        }

      
        #app img{
            width: 94%;
            
        }
        .schule-container{
            display: flex;
            flex-direction: column;
           }
       .sifu-container{
        display: flex;
            flex-direction: column;
            align-items: center;
       }
       .sifu img{
        width: 70%;
            }
        .contact-container{
            flex-direction: column;
            margin-top: 5rem;
        }
      
    }
    

 
    @media(max-width: 450px){
        html {
            font-size: 50%;
        }
        .contact form .input-box input{
            width: 100%;
        }
        .about video{
            max-width: 90vw;
            height: auto;
        }
    
    }
    @media(max-width: 365px){
        .home-img img{
            width: 90vw;
        }
        .about-img img{
            width: 90vw;
    }
    .footer{
        flex-direction: column-reverse;
        gap: .8rem;
    }
    .footer p{
        text-align: center;
        margin-top: 2rem;
    }
}
