/*--Allgemeines--*/
html{
    scroll-behavior: smooth;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;   
}

/*--Hintergrund--*/
body{
    background: url(gray-bg.jpg);
    background-size: cover;
    overflow-x: hidden;
}

#invite{
    text-align: center;
}

#invite img{
    width: 28vw;
    min-width: 200px;
}

/*--Top Image--*/
.top-img{
    /*width: 100%;
    height: 450px;
    background: white;*/
    display: none;
}

/*.top-img img{
    width: 100%;
}*/

/*--Impressum--*/
#imp{
    background-color: #4F8C2D;
    justify-content: space-around;
    width: 100%;
    padding: 10px 40px 10px;
    height: 36px;
    text-align: right;
    font-family: 'Poppins', sans-serif; 
    letter-spacing: 1px;
}

#imp a{
    color: white;
    text-decoration: none;
    padding: 0 10px 0 10px;
    cursor: pointer;    
    font-size: 16px;
}

    /*-Hover-Effekt (Impressum)-*/
    #imp a:hover{
        color: #F7D045;
        transition: color 250ms ease-in-out;
    }

/*--Datenschutz & Impressum für Mobile--*/
#mobile-data-imp-li{
    display: none;
}


/*--Navigation--*/
#navigation{
    display: flex;
    width: 100%;
    justify-content: space-around;
    height: 60px;
    background-color: #4F8C2D;
    box-shadow: 0 15px 21px -15px #181b1b;
    font-family: 'Poppins', sans-serif; 
    letter-spacing: 1px;
    position: sticky;
    top: 0;
    z-index: 2;
}

    /*-Logo (Navigation)-*/
    #logo img{
        height: 115px;
        padding-top: 5px;
    }

    /*-Tabs (Navigation)-*/
    .tabs{
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        text-transform: uppercase;
        gap: 1vw;
        width: 60%;
        padding-right: 25%;
        margin-bottom: 6px;
    }

    .tabs a{
        color: white;
        text-decoration: none;
        font-size: 21px;
        padding-bottom: 6px;
    }

    /*-Haupt-Tabs (Navigation)-*/
    .tabs .main{
        list-style: none;
        position: relative;
        cursor: pointer;
        margin: 0 15px;
    }

        /*-Tabs Hover-Effekt (Navigation)-*/
        .tabs .main:after{
            content: "";
            position: absolute;
            background-color: #F7D045;
            height: 4px;
            width: 0%;
            left: 0;
            bottom: -6px;
            transition: 0.3s;
        }

        .tabs .main:hover:after{
         width: 100%;
        }

    /*-Drop-Tabs oeffnen (Navigation)-*/    
    .tabs .main:hover .dropItem, .tabs .main:focus .dropItem{
        opacity: 1;
        visibility: visible;
    }

    /*-Drop-Tabs (Navigation)-*/
    .dropItem{
        position: absolute;
        top: 32px;
        left: -16px;
        box-shadow: 0 0 10px #181b1b;
        background-color: #272B2C;
        width: 232px;
        padding: 16px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 200ms ease-in-out;
    }

    .dropItem li{
        list-style: none;
        padding: 8px 16px;
        border-radius: 6px;   
        transition: background-color 200ms ease-in-out;
    }

        /*-Drop-Tabs Hover-Effekt (Navigation)-*/
        .dropItem li:hover, .dropItem li:focus{
            background-color: #4F8C2D;
        }

    /*-Burger Icon for Mobile (Navigation)-*/
    .burger{
        margin: auto 0;
        display: none;
        cursor: pointer;
    }

    .burger div{
        width: 25px;
        height: 3px;
        background-color: white;
        margin: 5px;
        transition: all 0.3s ease;
    }


/*--Banner (Name)--*/        
.banner{
    text-align: center;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2.5vh 0;
    font-family: 'Comic Neue', cursive;
}

    #name-line1{
        font-size: 2.8vw;
    }

    #name-line2{
        font-size: 2.3vw;
    }

    #name-line3{
        font-size: 1.9vw;
    }

        .banner img{
            width: 11vw;
        }


/*--Inhalt (Allgemeines)--*/    
.content-bg{
    margin: 0 auto;
    width: 85%;
    background-color: rgb(248, 248, 248);
    box-shadow: 0 20px 20px #272B2C;
    font-family: 'Source Sans Pro', sans-serif;
    letter-spacing: 1px;
}


/*--Footer--*/
.footer-content{
    display: flex;
    width: 60%;
    margin: 100px auto;
    justify-content: space-around;

}

    /*-Logo (Footer)-*/
    .footer-logo {
        margin: auto 0;
    }

    .footer-logo img {
        width: 140px;
    }

    /*-Kontakt (Footer)-*/
    .footer-contact{
        font-family: 'Poppins', sans-serif;
        letter-spacing: 1px;
        color: white;
    }

    .footer-contact p{
        margin-top: 40px;
    }

    /*-Soziales (Footer)-*/    
    .footer-social{
        font-family: 'Poppins', sans-serif;
        letter-spacing: 1px;
        color: white;
        margin-top: 40px;           
    }
        /*-Bilder Soziales (Footer)-*/
        .footer-social img{
            width: 80px;
            border-radius: 15px;
            transition: background-color 250ms ease-in-out;
        }

        .footer-social a{
            text-decoration: none;
        }

            /*-Bilder Soziales Hover-Effekt(Footer)-*/
            .footer-social img:hover{
                background-color: #4F8C2D;
            }


    /*--To Top Buttom--*/
    .to-top{
        display: flex;
        margin-bottom: 20px;
        justify-content: center;
        font-family: 'Poppins', sans-serif;
        letter-spacing: 1px;
        color: white;
    }

    .to-top a{
        color: white;
        text-decoration: none;
        padding: 10px 15px 10px 15px;
        border-radius: 15px;
        border-style: solid;
        border-width: 3px;
        transition: background-color 250ms ease-in-out;
    }

        /*-To Top Button Hover-Effekt-*/
        .to-top a:hover{
            background-color: #4F8C2D;
        }


/*--Copyright--*/        
.copyright{
    font-family: 'Poppins', sans-serif;
    letter-spacing: 1px;
    color: white;
    text-align: center;
    padding: 20px 0;
    margin: 0 7.5%;
    align-items: center;
    border-top: 1px solid rgb(117, 117, 117);
}


/*-------------------------------------------------------------------------------------------------------*/


/*Desktop (1600 to 1400)*/
@media screen and (max-width: 1600px) {

    /*-Impressum Font-Size kleiner-*/
    #imp{
        height: 35px;
    }

    #imp a{
        font-size: 15px;
    }
    
    /*-Navigation kleiner-*/
    #navigation{
        height: 50px;
    }

    #logo img{
        height: 95px;
    }

    .tabs a{
        font-size: 19px;
    }

    /*-Footer kleiner und weiter aufgefaechert-*/
    .footer-content{
        width: 67%;
    }

    .footer-contact{
        font-size: 14px;
    }

    .footer-social{
        font-size: 14px;
    }

    .footer-social img{
        width: 70px;
    }

    /*-To Top Button Font-Size kleiner-*/
    .to-top a{
        font-size: 1vw;
    }

    /*-Copyright kleiner-*/
    .copyright{
        font-size: 15px;
    }
}


/*Desktop / Laptop (1400 to 1200)*/
@media screen and (max-width: 1400px) {

    /*-Impressum Font-Size kleiner-*/
    #imp{
        height: 34px;
    }

    #imp a{
        font-size: 14px;
    }

    /*-Navigation Font-Size kleiner-*/
    .tabs a{
        font-size: 18px;
    }

    .tabs .main{
        margin: 0 12px;
    }

    /*-Footer weiter aufgefaechert-*/
    .footer-content{
        width: 75%;
    }

    /*-Copyright kleiner-*/
    .copyright{
        font-size: 14px;
    }
}


/*Tablet - quer (1200 to 920)*/
@media screen and (max-width: 1200px) {
    
    /*-Impressum kleiner-*/
    #imp{
        padding: 5px 40px 5px;
        height: 26px;
    }

    #imp a{
        font-size: 13px;
    }

    /*-Navigation kleiner-*/
    #navigation{
        height: 43px;
    }

    #logo img{
        height: 76px;
    }

    .tabs a{
        font-size: 15px;
    }

    .tabs .main{
        margin: 0 10px;
    }

    .tabs .main:after{
        height: 3px;
    }

    /*-Bannergroeße fixiert-*/
    .banner{
        padding: 12px;
    }

        #name-line1{
            font-size: 33px;
        }

        #name-line2{
            font-size: 28px;
        }

        #name-line3{
            font-size: 22px;
        }

            .banner img{
                width: 132px;
            }

    /*-Footer aufgefaechert-*/
    .footer-content{
        width: 70%;
    }

        /*-Footer Logo entfernt-*/
        .footer-logo{
            display: none;
        }

        /*-Footer Groeßen angepasst-*/
        .footer-contact{
            font-size: 13px;
        }

        .footer-social{
            font-size: 13px;
        }

        .footer-social img{
            width: 60px;
        }

    /*-To Top Buttongroeße fixiert-*/
    .to-top a{
        font-size: 12px;
    }
    
    /*-Copyright kleiner-*/
    .copyright{
        font-size: 13px;
    }
}


/*Tablet - hoch (920 to 768) ------ Mobile View*/
@media screen and (max-width: 920px) {

    /*-Impressum entfernt-*/
    #imp{
        display: none;
    }

    /*-Navigation Groeßen angepasst-*/
    #navigation{
        height: 69px;
        gap: 60vw;
    }

    #logo img{
        padding: 19px 0 0 0;
        height: 118px;
        float: left;
    }

    /*-Burger Icon visible-*/
    .burger{
        display: block;
    }
    
    /*-Tabs angepasst an Mobile View-*/
    .tabs{
        position: absolute;
        right: 0px;
        top: 69px;
        background-color: #272B2C;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-around;
        width: 100%;
        height: 97vh;
        padding: 0 0 6vh 0;
        margin: 0;
        z-index: -1;
        transform: scale(1,0);
        transform-origin: top;
        transition: transform 0.5s ease-in-out;
    }

        .tabs a{
            font-size: 18px;
        }

        .tabs .main{
            margin: 0;
        }

        .tabs .main:after{
            bottom: 0px;
            background-color: #4F8C2D;
        }

        .tabs a:after{
            font-weight: 900;
        }
    
    /*-Drop-Tabs angepasst an Mobile View-*/
    .dropItem{
        z-index: 1;
        top: 29px;
    }

    /*-Datenschutz & Impressum für Mobile View angezeigt-*/
    #mobile-data-imp-li{
        display: block;
    }

        #mobile-data-imp{
            display: flex;
            justify-content: space-between;
            color: rgba(187, 187, 187, 0.65);
            font-size: 12px;
            width: 300px;
            border-top: 1px solid rgba(187, 187, 187, 0.5);
            padding-top: 20px;
        }

        #mobile-data-imp a{
            font-size: 12px;
        }

        .content-headline-container-55{
            margin-left: 0px !important;
        }

        .news-content >div{
            width: 100% !important;
        }
}


/*Tablet - hoch - verfeinert (768 to 610)*/
@media screen and (max-width: 768px) {

    /*--Bannergroeße angepasst--*/
    .banner{
        padding: 24px;
    }
    
        #name-line1{
            font-size: 26px;
        }

        #name-line2{
            font-size: 22px;
        }

        #name-line3{
            font-size: 18px;
        }

        .banner img{
            width: 112px;
        }

    /*--Footer weiter aufgefaechert--*/
    .footer-content{
        width: 80%;
    }
    
    /*--Copyright kleiner--*/
    .copyright{
        font-size: 12px;
    }
}


/*Tablet / Handy (groß) (610 to 554)*/
@media screen and (max-width: 610px) {

    /*--Navigation Gap zwischen Logo und Burger angepasst--*/
    #navigation{
        gap: 50vw;
    }

        /*-Logo verkleinert-*/
        #logo img{
            padding: 24px 0 0 0;
            height: 110px;
        }

    /*--Banner (Name) oben und unten Platz vergroeßert--*/
    .banner{
        padding-top: 50px;
        padding-bottom: 50px;
    }

    /*--Footer weiter aufgefaechert--*/
    .footer-content{
        width: 76%;
        gap: 50px;
    }

        .footer-social img{
            width: 50px;
        }
}


/*Handy (554>)*/
@media screen and (max-width: 554px) {
    
    /*--Banner (Name) fuer Handy  vergroeßert--*/
        #name-line1{
            font-size: 4.8vw; /*7.8vw*/
        }

        #name-line2{
            font-size: 4.3vw; /*6.8vw*/
        }

        #name-line3{
            font-size: 3.6vw; /*6vw*/
        }

        .banner img{
            /*display: none;*/
            width: 18vw;
        }

    /*--Footer fuer Handy untereinander angeordnet--*/
        .footer-content{
            flex-direction: column;
            gap: 0;
            width: 50%;
        }

        .footer-social{
            margin: 0;
            padding-top: 20px;
            border-top: 1px solid rgb(117, 117, 117);
        }
}


/*Handy - quer (Maximale Höhe: 450px)*/
@media screen and (max-height: 450px){

    /*--DropItem etwas kürzer--*/
    .tabs{
        height: 88vh;
    }
}


/*----------------------------JS Functions----------------------------*/


/*--Mobile View Navigation PopUp--*/
.mobile-nav-active{
    top: 69px;
    transform: scale(1,1);
}


/*--Burger Animation (Mobile View Navigation)--*/
    .toggle .line1{
        transform: rotate(-45deg) translate(-5px, 6px);
    }

    .toggle .line2{
        opacity: 0;
    }

    .toggle .line3{
        transform: rotate(45deg) translate(-5px, -6px);
    }


/*------------------------------------------------------------CONTENT------------------------------------------------------------*/


/*------------------------Allgemeines------------------------*/


#content-headline-container-100{
    padding: 15px;
    width: 100%;
}

#content-headline-container-55{
    padding: 15px;
    width: 55%;
}

.content-headline-container-55{
    padding: 15px;
    width: 55%;
    margin-left: calc(45%/2);
}

#content-headline{
    display: flex;
    flex-direction: row;
    color: white;
    letter-spacing: 1px;
    background-color: #4F8C2D;
    padding: 5px 16px;
    box-shadow: 1px 1px 8px #181b1b;
    border-radius: 4px;
    justify-content: space-between;
}

#content-footer{
    width: 85%;
    border-top: 1px solid rgb(187, 187, 187);
    text-align: center;
    padding: 20px 0;
    margin: 20px 7.5% 0 7.5%;
    color: rgb(151, 151, 151);
}


@media screen and (max-width: 924px) {
    #content-headline-container-55,
    .content-headline-container-55{
        width: 100%;
    }

    .content-bg{
        font-size: 16px;
    }
}   

@media screen and (max-width: 554px) {
    .content-bg{
        font-size: 2.8vw;
    }
}


/*------------------------News------------------------*/

#corona-info-surround{
    padding: 40px 0;
    border-bottom: 1px solid rgb(187, 187, 187);
    width: 85%;
    margin-bottom: 40px;
}

#corona-info{
    text-align: center;
    border: 2px solid rgb(226, 77, 44);
    width: 500px;
    color: rgb(226, 77, 44);
    padding: 20px;
}

@media screen and (max-width: 768px) {
    #corona-info{
        width: 100%;
    }
}

.news-headline{
    display: flex;
    justify-content: space-between;
    gap: 25px;
}

#news-date{
    white-space: nowrap;
}

#news-title{
    position: relative;
    text-align: right;
}

.news-content{
    padding: 30px 50px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.news-content >div{
    width: 55%;
}

.between-news{
    border-top: 1px solid rgb(187, 187, 187);
    width: 20%;
    height: 20px;
}

/*------------------------Ueber Uns------------------------*/

#about-content{
    padding: 30px 50px 50px 50px;
}

.line-between{
    border-top: 1px solid rgb(187, 187, 187);
    width: 20%;
    height: 20px;
    margin-top: 16px;
}

#about-content2{
    padding: 30px 50px 10px 50px;
    font-weight: 600;
    text-align: center;
}

#about-content3{
    padding: 10px 50px 30px 50px;
    text-align: center;
}

/*------------------------Sportangebot------------------------*/

#links-intern{
    display: flex;
    justify-content: center;
    flex-direction: row;
    margin: 10px auto;
    
}

#links-intern a{
    padding: 0 20px;
    text-decoration: none;
    color: #4F8C2D;
}

#links-intern a:hover{
    color: #4e8c2dab;
    transition: color 250ms ease-in-out;
}

#links-intern p{
    color: rgb(151, 151, 151);
}

.sportangebot-content{
    padding: 50px 50px 30px 50px;
}

#sportangebot-headline{
    text-align: center;
    color: rgb(151, 151, 151);
    border-top: 1px solid rgb(187, 187, 187);
    width: 80%;
    margin: 20px 10% 20px 10%;
    padding: 10px 0 50px 0;
}

#hkd-top{
    display: flex;
    flex-direction: row;
    gap: 20px;
    padding-left: 2vw;
}

#hkd-top img{
    width: 60px;
}

#hkd-top div{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 20px;
}

.underline{
    text-decoration: underline;
}

#hapkido-description ul{
    padding-left: 30px;
}

#hkd-bottom{
    text-align: center;
    padding-top: 40px;
}

.grey{
    color: rgb(151, 151, 151);
}


/*------------------------Der Vorstand------------------------*/

.bilder-trainer-div{
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.bilder-trainer-div img{
    margin: 30px 5vw;
    width: 400px;
    border: 2px solid #4F8C2D;
    border-radius: 6px;
}

.between-trainer{
    border-top: 1px solid rgb(187, 187, 187);
    width: 60%;
    height: 20px;
    margin-top: 16px;
}


@media screen and (max-width: 920px){
    .bilder-trainer-div img{
        width: 40vw;
    }

    .links-intern-top{
        display: none;
    }

    .links-intern-trainer a{
        display: none;
    }

    .links-intern-trainer p{
        display: none;
    }   
} 

/*------------------------Trainer------------------------*/

.links-intern-top{
    height: 16px;
}

#jump-tkd-kampf-trainer{
    visibility: hidden;
}
#jump-hkd-trainer{
    visibility: hidden;
}
#jump-tricking-trainer{
    visibility: hidden;
}

/*------------------------Trainingszeiten------------------------*/

#training-text{
    font-weight: 600;
    margin: 20px 100px;
    text-align: center;
}

.timetable{
    border-collapse: collapse;
    margin: 50px 20px;
    font-size: 0.9em;
    width: 550px;
    text-align: left;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.timetable thead tr{
    background-color: #4F8C2D;
    color: white;
    font-weight: bold;
}

.timetable th,
.timetable td{
    padding: 12px 15px;
}

.timetable tbody tr{
    border-bottom: 1px solid #dddddd;
}

.timetable tbody tr:nth-of-type(even){
    background-color: #f3f3f3;
}

.timetable tbody tr:last-of-type{
    border-bottom: 2px solid #4F8C2D;
}

#timetable-container{
    padding-bottom: 20px;
}

#timetable-container a{
    text-decoration: none;
    color: #4F8C2D;
}

#timetable-container a:hover{
    color: #4e8c2dab;
    transition: color 250ms ease-in-out;
}

@media screen and (max-width: 652px) {
    .timetable{
        width: auto;
        min-width: 250px;
    }
}

/*------------------------Termine------------------------*/


#events-content{
    font-weight: 600;
    margin: 20px 100px;
    text-align: center;
}

.event-table{
    border-collapse: collapse;
    margin: 50px 0;
    font-size: 0.9em;
    min-width: 300px;
    text-align: left;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.event-table thead tr{
    background-color: #4F8C2D;
    color: white;
    font-weight: bold;
}

.event-table th,
.event-table td{
    padding: 12px 15px;
}

.event-table tbody tr{
    border-bottom: 1px solid #dddddd;
}

.event-table tbody tr:nth-of-type(even){
    background-color: #f3f3f3;
}

.event-table tbody tr:last-of-type{
    border-bottom: 2px solid #4F8C2D;
}


@media screen and (max-width: 724px) {
    #events-content{
        margin: 20px 30px;
    }
}


/*------------------------Kontakt------------------------*/


#contact-content{
    padding: 30px 30px 30px 15vw;
}

#contact-content a{
    text-decoration: none;
    color: #272B2C;
    margin-left: 30px;
}

#contact-content a:hover{
    color: rgb(121, 121, 121);
    transition: color 250ms ease-in-out;
}


@media screen and (max-width: 924px) {
    #contact-content{
        padding-left: 10vw;
    }
}


/*------------------------Downloads------------------------*/


#downloads-content{
    padding: 30px 30px 30px 10vw;
}

#downloads-content a{
    text-decoration: none;
    color: black;
}

#downloads-content a:hover{
    color: rgb(121, 121, 121);
    transition: color 250ms ease-in-out;
}


/*------------------------Datenschutz------------------------*/


#privacy-text{
    padding: 30px 40px;
}

#privacy-text ul{
    padding-left: 30px;
}

#privacy-text a{
    color: black;
}

#privacy-text a:hover{
    color: rgb(121, 121, 121);
    transition: color 250ms ease-in-out;
}


/*------------------------Impressum------------------------*/


#imp-first{
    margin: 10px 40px 0 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgb(145, 145, 145);
}

#imp-second{
    margin: 0 40px;
    padding-top: 40px;
}