#contact_section{
    padding-top: 5rem;
    background-color: var(--secondary-color);
}

#contact_section h3, h2{
    text-align: center;
}
.contact_text{
    text-align: center;
    font-size: calc(0.8rem + var(--font-scale));
}
.contact_text a {
    color: var(--text-color);
    text-decoration: none;
}
.contact_text a:hover {
    color: var(--secondary-text-color);
}

.grid_container{
    padding-bottom: 10rem;
    display: grid;
    grid-template-columns: 0.7fr 0.5rem 0.7fr;
    grid-template-rows: auto auto;
    grid-template-areas:
    "item1 item2 item3"
    "item4 item5 item6";
}
.grid_item{
    display: flex;
    justify-content:center;
    align-items: center;
}

/* Mailadresse */

#item1{
    grid-area: item1;
    margin: 5rem 0;
    display: flex;
    justify-content:center;
    align-items: center;
}
#item1 a{
    width: 20rem;
    font-size: 1.4rem;
    max-width: 90%;
    padding: 0.5rem 3rem;
    border-radius: 4rem;
    text-decoration: none;
    text-align: center;

    color: var(--text-color);
    background-color: var(--main-brand-color);
    border: 0.35rem solid var(--main-brand-color);
    transition: 150ms ease-in-out;
}
#item1 a:hover{
    background: transparent;
}

/* Telefonnummmer */

#item3{
    grid-area: item3;
    margin: 5rem 0;
    display: flex;
    justify-content:center;
    align-items: center;
}
#item3 a{
    width: 20rem;
    font-size: 1.4rem;
    max-width: 95%;
    padding: 0.5rem 3rem;
    border-radius: 4rem;
    text-decoration: none;
    text-align: center;
    color: var(--text-color);
    background-color: var(--main-brand-color);
    border: 0.35rem solid var(--main-brand-color);
    transition: 150ms ease-in-out;
}
#item3 a:hover{
    background: transparent;
}

/* Kontaktdaten */

#item4{
    grid-area: item4;
    margin: 0 6rem;
}
.social-header{
    margin-top: 0.7rem;
    display: inline-flex;
    flex-direction:column;
    gap: 1rem;

}
.social-header img{
    width: 3rem;
    height: auto;
}
.social-header a{
    display: inline-flex;
    align-items:center;
    gap: 1rem;
    text-decoration: none;
    color: var(--text-color);
}


@media (min-width: 800px) {
    .social-header img:hover{
        opacity: 0.4;
    }
    .social-header a:hover{
        opacity: 0.4;
    }
}

/* Zwischenspalte */

#item5{
    grid-area: item5;
    background-color: var(--main-brand-color);
}

/* Kontaktformular */

#item6{
    grid-area: item6;
}
#item6 iframe{ 
    border: none; 
    border-radius: 1rem;
    overflow: hidden; 
    width: 27rem;
    max-width: 100%;
    height: 48rem;
}

/* Karte von Google wird eingebunden */
.map-container{
    /* filter: grayscale(20%) contrast(1.1); */
}

.mapframe{
    border: 0;
    border-radius: 1rem;
    filter: grayscale(20%) contrast(1.1);
}
.mapframe:hover {
    filter: grayscale(0%); /* Karte wird beim Drüberfahren farbintensiv */
}

.map-wide{
    background-color: var(--secondary-color);
    width: 100%;
}

@media (max-width: 1000px) {
    contact_section{
        padding: 0;
        background-color: var(--primanry-color);
        margin-top: 4rem;
    }
    .grid_container{
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
        "item1"
        "item3"
        "item4"
        "item6";
    }
    #item4{
        grid-area: item4;
        margin: 2rem;
    }
}


@media (max-width: 500px) {
    #item1{
        margin: 3rem 0;
    }
    #item3{
        margin: 3rem 0;
    }
    #item6{
        grid-area: item6;
        width: 95%;
        margin: auto;
        border-radius: 0.2rem;
    }
}

/* Ausklappbarer Teil Impressum und Datenschutz */
.accordion {
    background-color: var(--primary-color);
    color: var(--text-color);
    cursor: pointer;
    padding: 2rem;
    width: 100%;
    border: none;
    transition: 0.3s;
}

.accordion.active, .accordion:hover {
    opacity: 0.8;

}

.panel {
    background-color: var(--background-color);
    color: var(--secondary-text-color);
    width: 60rem;
    margin: 2rem auto;
    padding: 3rem;
    display: none;
    overflow: hidden;
    border: 0.1rem solid var(--main-brand-color);
}
.panel ul{
    padding-left:2rem;
}

@media (max-width: 1200px) {
    .panel {
        width: 50rem;
    }
}
@media (max-width: 900px) {
    .panel {
        width: 40rem;
    }
}
@media (max-width: 700px) {
    .panel {
        width: 30rem;
        padding: 2rem;
    }
}
@media (max-width: 500px) {
    .panel {
        width: 22rem;
        margin: 1rem auto;
        padding: 0.4rem;
        /* border: none; */
    }
}
.panel h3{
    padding: 2rem 0 1rem 0;
}

.footer_form{
    background-color: var(--secondary-color);
    padding: 3rem 0;
    text-align: center;
}
