#contact_wrapper h1 { 
    font-size: 2.2em;
    text-align: center
}
#contact_flex {
    display: flex;
    flex-direction: column;
}
#contact_flex > div {
    width: 90%;
    margin: auto;
    padding: 10px 0;
}
#contact_left  { position: relative }
#contact_left h2 {
    font-size: 1.3rem;
    margin: 0;
    padding: 0;
}
#contact_left p {
    width: 100%;
    margin: 25px 0;
}
#contact_left svg {
    position: absolute;
    top: 0;
    right: 5%;
    z-index: -1;
    opacity: .5;
    width: 120px;
    height: 120px;
}
#contact_left svg path { fill: var(--color-summer-green-300) }
#contact_right {
    position: relative;
    overflow: hidden;
    transition: height 0.3s;
}
#contact_right.expanded { height: 675px }

/* APPOINTMENT */
#appointment_wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-100%);
    background-color: var(--color-noir);
    width: 100%;
    transition: transform .3s;
}
#appointment_wrapper.visible { 
    display: block;
    width: 100%;
    height: 100%;
    z-index: 990;
    transform: translate(-50%, 0);
    transition: transform .3s;
    padding: 0 0 15px;
}
#appointment_titre span { font-size: 1.2rem }
#appointment_wrapper { color: var(--color-blanc) }
#appointment_wrapper form{ margin-top: 25px }
#appointment_wrapper .form_line {
    display: flex;
    margin: 5px 0;
}
#appointment_wrapper .submit {
    display: flex;
    align-items: center;
    justify-content: center;
}
#appointment_wrapper button { z-index: 9 }

#contact_right{
    input, select, textarea {
        width: 100%;
        padding: 12px;
        border: none;
        border-bottom: 1px solid var(--color-summer-green-300);
        color: var(--color-blanc);
        background-color: transparent;
        border-radius: 4px;
        margin-top: 6px;
        margin-bottom: 16px;
        resize: vertical;
    }
    textarea { height: 170px }
    input:focus, select:focus, textarea:focus {
        border: none;
        border-bottom: 1px solid var(--color-blanc);
    }
    input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none }
    input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }
    .form-group {
        display: flex;
        flex-direction: column;
    }
    .form-group > div {
        width: 100%;
    }
    .form_rgpd > div {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }
    .switch { margin: 0 15px }
    button { padding: 12px 24px; }
}

@media all and (min-width: 810px) {
    #appointment_titre span { font-size: 1.5rem; }
    #contact_wrapper h1 { 
        font-size: 3.6em;
        max-width: 800px;
        margin: 35px auto 50px;
    }
    #contact_flex {
        flex-direction: row;
    }
    #contact_flex > div {
        width: 50%;
    } 
    #contact_left h2 {
        font-size: 2rem;
        padding: 0 15px;
    }
    #contact_left p { 
        width: 80%;
        margin: 25px auto;
    }
    #contact_right {
        .form-group {
            flex-direction: row;
            justify-content: space-between;
        }
        .form-group > div { width: 49% }
    }
    #contact_right.expanded { height: 500px }
}
@media all and (min-width: 980px) {
    #contact_left h2 { font-size: 2.5rem }
    #contact_right.expanded { height: unset }
}